SlideShare une entreprise Scribd logo
1  sur  73
Télécharger pour lire hors ligne
Aiding Program Comprehension by Static and Dynamic
                 Feature Analysis

     Thomas Eisenbarth1 , Rainer Koschke2 , Daniel Simon3

             1 Axivion   GmbH   2 Universit¨t
                                           a    Bremen   3 SQS



                         ICSM 2011
       Presentation of Most-Influential Paper ICSM 2001
This paper was joint work with my two colleagues.
These are the three authors at the time of the publication, ten years ago.
Left you have Thomas Eisenbarth and at the right you see Daniel Simon.
Unfortunately, they cannot be here. They want me to send their best
regards. They are – like me – very honored by this award.
Here are two more current photographs of them.
They have not changed much. That is no surprise since their main
expertise is in maintenance.
I remember ICSM 2001 very well. It was in a great location. In Florence.
Florence has so many attractions.
Florence is full of so many attractions and beauty.
It was a real surprise that someone showed up at my talk at Florence.
Before I tell you more about the content of the paper, I would like to tell
you a bit about the history of the paper itself, that is, its development
process.
The initial trigger for the idea of our paper was the call for paper of a
                                                                                                                     German software product line workshop.
              *&4&
'SBVOIPGFS *OTUJUVU                            Call for Papers
           &YQFSJNFOUFMMFT
           4PGUXBSF &OHJOFFSJOH
                                1. Deutscher
                      Software-Produktlinien Workshop
                               Kaiserslautern, 10. November 2000
  Hintergrund                                               Themengebiete
                                                            Beiträge, vor allem, aber nicht ausschließlich zu den
  Die Entwicklung ähnlicher Produkte als Produktlinie
                                                            folgenden Themen, sind willkommen:
  – oder Produktfamilie – bietet gegenüber der relativ
                                                            • Planung von Produktlinien
  teuren Einzelsystementwicklung viele Vorteile, die
                                                            • Requirements Engineering für Produktlinien
  überwiegend darauf beruhen, daß alle Familienmit-
                                                            • Modellierung von Produktlinien
  glieder auf einer gemeinsamen Infrastruktur – auch
                                                            • Verfolgbarkeit von Anforderungen
  Plattform oder Architektur genannt – aufbauen. Wäh-
                                                            • Konfigurationsmanagement für Produktlinien
  rend in anderen Industriebranchen, wie z.B. dem
                                                            • Definition von Softwarearchitekturen
  Automobilbau oder der Unterhaltungsindustrie, die
                                                            • Recovery von Softwarearchitekturen
  Vorteile der Produktlinienentwicklung längst systema-
                                                            • Referenzarchitekturen für Produktlinien
  tisch genutzt werden, werden die meisten Softwaresy-
                                                            • Weiterentwicklung von Architekturen
  steme nach wie vor als teure Einzelstücke gefertigt.
                                                            • Komponententechnologie für Produktlinien
  Dabei kann speziell die Softwareentwicklung von           • Reengineering im Hinblick auf Produktlinien
  Produktlinien profitieren: zum Beispiel durch Zeit-       • Industrielle Erfahrungen mit Produktlinien
  und Kostenersparnis bei der Entwicklung neuer, ähnli-     • Produktlinien für KMUs
  cher Produkte oder durch höhere Produktqualität auf-      • Einführung von Produktlinienansätzen
  grund eines hohen Wiederverwendundgsanteils               Beiträge sind in elektronischer Form (PDF oder
  existierender und bereits erprobter Komponenten.          PostScript) an knauber@iese.fhg.de einzureichen; der
  Auch das Anpassen von Standardprodukten an beson-         Umfang der Beiträge sollte fünf Seiten nicht über-
  dere Kundenwünsche wird durch vorab geplante              schreiten. Weitere Informationen sind unter
  Variabilität erleichtert. Produktlinien decken naturge-   http://www.iese.fhg.de/dspl-workshop
  mäß den gesamten Softwarelebenszyklus ab, daher           verfügbar.
  integrieren sie viele andere Themenbereiche wie           Termine:
  Requirements Engineering, Softwarearchitekturen           Einsendung von Beiträgen:                    31.8.2000
  und Reengineering.                                        Benachrichtigung über die Annahme:           1.10.2000
  Nach etwa einem Jahrzehnt der Forschung erfahren          Einsendung der endgültigen Version:         20.10.2000
  Produktlinien für Softwaresysteme immer mehr Auf-         Versand des endgültigen Programms:          25.10.2000
  merksamkeit, was sich in der zunehmenden Anzahl           Programmkommitee:
  internationaler Veranstaltungen zu diesem Themen-         • Dr. P. Knauber (Fraunhofer IESE)
  kreis niederschlägt. Auch in Deutschland stoßen Pro-      • Prof. Dr. K. Pohl (Universität Essen)
  duktlinien und benachbarte Themengebiete auf immer
  mehr Interesse, was sich unter anderem an der Beteili-    •   Prof. Dr. C. Atkinson (Universität Kaiserslautern)
  gung verschiedener Organisationen an europäischen         •   Dr. G. Böckle (Siemens AG)
  Projekten wie z.B. PRAISE und ESAPS zeigt.                •   Dr.-Ing. K. Czarnecki (DaimlerChrysler AG)
                                                            •   Prof. Dr. U. Eisenecker (FH Kaiserslautern)
  Ziel des Workshops                                        •   Prof. Dr. E. Plödereder (Universität Stuttgart)
                                                            •   Prof. Dr. W. Pree (Universität Konstanz)
  Der Workshop hat zum Ziel, einen Erfahrungsaus-           •   Prof. Dr. D. Rombach (Fraunhofer IESE)
  tausch zwischen Industrie und Forschung im Bereich        •   S. Thiel (Robert Bosch GmbH)
  der Software-Produktlinien und angrenzender The-          •   R. Trauter (DaimlerChrysler AG)
  menbereiche zu ermöglichen.                               •   Dr. M. Verlage (Market Maker Software AG)
In software product lines, they have these product-feature maps that
describe the commonalities and differences of the products with respect
to their features as a table.
At that time, there was a German professor, Gregor Snelting, who
introduced formal concept analysis in software engineering.
I taught formal concept analysis as part of my reengineering class.
Concept analysis allows you to analyze such tables. In mathematical
terms, concept analysis is a technique to analyze the structure of
arbitrary binary relations.
We proposed in that German workshop to use concept analysis to analyze
such product-feature maps in software product lines.
I will describe it later in more detail.
However, we were more interested in program analysis than in
requirement engineering.
Another problem they have in product lines is to identify the components
necessary to implement a feature, which is needed to identify re-usable
components to be used in product lines.
So we decided to use formal concept analysis to search where features are
implemented in the code.
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke

Contenu connexe

En vedette

Metrics - You can't control the unfamiliar
Metrics - You can't control the unfamiliarMetrics - You can't control the unfamiliar
Metrics - You can't control the unfamiliarICSM 2011
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11ICSM 2011
 
ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical DebtICSM 2011
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteICSM 2011
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects ICSM 2011
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...ICSM 2011
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ICSM 2011
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ICSM 2011
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...ICSM 2011
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...ICSM 2011
 
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ICSM 2011
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskICSM 2011
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...ICSM 2011
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...ICSM 2011
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...ICSM 2011
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...ICSM 2011
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...ICSM 2011
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationICSM 2011
 

En vedette (20)

Metrics - You can't control the unfamiliar
Metrics - You can't control the unfamiliarMetrics - You can't control the unfamiliar
Metrics - You can't control the unfamiliar
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11
 
ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical Debt
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 Keynote
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
 
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to Task
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
 
Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...Reliability and Quality - Predicting post-release defects using pre-release f...
Reliability and Quality - Predicting post-release defects using pre-release f...
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...
 
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
 

Similaire à ICSM'01 Most Influential Paper - Rainer Koschke

Kapruch steve
Kapruch steveKapruch steve
Kapruch steveNASAPMC
 
Aspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of ConceptAspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of Concepttomwhalen
 
Make my viral
Make my viralMake my viral
Make my viralNINANC
 
Hot Technologies of 2012
Hot Technologies of 2012Hot Technologies of 2012
Hot Technologies of 2012Inside Analysis
 
Business And It Value
Business And It ValueBusiness And It Value
Business And It Valuealliej
 
Zachman_word.docx
Zachman_word.docxZachman_word.docx
Zachman_word.docxAnBL4
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Restdeimos
 
Web Technologies
Web TechnologiesWeb Technologies
Web Technologiesdynamis
 
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)dynamis
 
Q1a - overview and exam preparation
Q1a - overview and exam preparationQ1a - overview and exam preparation
Q1a - overview and exam preparationLiz Davies
 
Poster - Train of Thought: Embedding libraries in multi-modal transportation ...
Poster - Train of Thought: Embedding libraries in multi-modal transportation ...Poster - Train of Thought: Embedding libraries in multi-modal transportation ...
Poster - Train of Thought: Embedding libraries in multi-modal transportation ...robinfilipczak
 
Doctrine 2015
Doctrine 2015 Doctrine 2015
Doctrine 2015 tradoc
 

Similaire à ICSM'01 Most Influential Paper - Rainer Koschke (20)

Kapruch steve
Kapruch steveKapruch steve
Kapruch steve
 
Erp
ErpErp
Erp
 
Aspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of ConceptAspirus Epic Hyperspace VCE Proof of Concept
Aspirus Epic Hyperspace VCE Proof of Concept
 
Pratibha_Kakarla
Pratibha_KakarlaPratibha_Kakarla
Pratibha_Kakarla
 
Make my viral
Make my viralMake my viral
Make my viral
 
Hot Technologies of 2012
Hot Technologies of 2012Hot Technologies of 2012
Hot Technologies of 2012
 
Business And It Value
Business And It ValueBusiness And It Value
Business And It Value
 
Requirements For Fdp Research Stage
Requirements For Fdp Research StageRequirements For Fdp Research Stage
Requirements For Fdp Research Stage
 
Zachman_word.docx
Zachman_word.docxZachman_word.docx
Zachman_word.docx
 
Stefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To RestStefan Tilkov Pragmatic Intro To Rest
Stefan Tilkov Pragmatic Intro To Rest
 
Web Technologies
Web TechnologiesWeb Technologies
Web Technologies
 
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
HTML5 for Designers (HTML5 時代の Web デザイナーの新常識)
 
Q1a - overview and exam preparation
Q1a - overview and exam preparationQ1a - overview and exam preparation
Q1a - overview and exam preparation
 
San Diego 2010
San Diego 2010San Diego 2010
San Diego 2010
 
Atlas Slide Deck
Atlas Slide DeckAtlas Slide Deck
Atlas Slide Deck
 
Creating Tomorrow - System2
Creating Tomorrow - System2Creating Tomorrow - System2
Creating Tomorrow - System2
 
Poster - Train of Thought: Embedding libraries in multi-modal transportation ...
Poster - Train of Thought: Embedding libraries in multi-modal transportation ...Poster - Train of Thought: Embedding libraries in multi-modal transportation ...
Poster - Train of Thought: Embedding libraries in multi-modal transportation ...
 
U-1.pptx
U-1.pptxU-1.pptx
U-1.pptx
 
1867
18671867
1867
 
Doctrine 2015
Doctrine 2015 Doctrine 2015
Doctrine 2015
 

Dernier

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Dernier (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

ICSM'01 Most Influential Paper - Rainer Koschke

  • 1. Aiding Program Comprehension by Static and Dynamic Feature Analysis Thomas Eisenbarth1 , Rainer Koschke2 , Daniel Simon3 1 Axivion GmbH 2 Universit¨t a Bremen 3 SQS ICSM 2011 Presentation of Most-Influential Paper ICSM 2001
  • 2. This paper was joint work with my two colleagues. These are the three authors at the time of the publication, ten years ago. Left you have Thomas Eisenbarth and at the right you see Daniel Simon. Unfortunately, they cannot be here. They want me to send their best regards. They are – like me – very honored by this award.
  • 3. Here are two more current photographs of them. They have not changed much. That is no surprise since their main expertise is in maintenance.
  • 4. I remember ICSM 2001 very well. It was in a great location. In Florence. Florence has so many attractions.
  • 5. Florence is full of so many attractions and beauty. It was a real surprise that someone showed up at my talk at Florence.
  • 6. Before I tell you more about the content of the paper, I would like to tell you a bit about the history of the paper itself, that is, its development process.
  • 7. The initial trigger for the idea of our paper was the call for paper of a German software product line workshop. *&4& 'SBVOIPGFS *OTUJUVU Call for Papers &YQFSJNFOUFMMFT 4PGUXBSF &OHJOFFSJOH 1. Deutscher Software-Produktlinien Workshop Kaiserslautern, 10. November 2000 Hintergrund Themengebiete Beiträge, vor allem, aber nicht ausschließlich zu den Die Entwicklung ähnlicher Produkte als Produktlinie folgenden Themen, sind willkommen: – oder Produktfamilie – bietet gegenüber der relativ • Planung von Produktlinien teuren Einzelsystementwicklung viele Vorteile, die • Requirements Engineering für Produktlinien überwiegend darauf beruhen, daß alle Familienmit- • Modellierung von Produktlinien glieder auf einer gemeinsamen Infrastruktur – auch • Verfolgbarkeit von Anforderungen Plattform oder Architektur genannt – aufbauen. Wäh- • Konfigurationsmanagement für Produktlinien rend in anderen Industriebranchen, wie z.B. dem • Definition von Softwarearchitekturen Automobilbau oder der Unterhaltungsindustrie, die • Recovery von Softwarearchitekturen Vorteile der Produktlinienentwicklung längst systema- • Referenzarchitekturen für Produktlinien tisch genutzt werden, werden die meisten Softwaresy- • Weiterentwicklung von Architekturen steme nach wie vor als teure Einzelstücke gefertigt. • Komponententechnologie für Produktlinien Dabei kann speziell die Softwareentwicklung von • Reengineering im Hinblick auf Produktlinien Produktlinien profitieren: zum Beispiel durch Zeit- • Industrielle Erfahrungen mit Produktlinien und Kostenersparnis bei der Entwicklung neuer, ähnli- • Produktlinien für KMUs cher Produkte oder durch höhere Produktqualität auf- • Einführung von Produktlinienansätzen grund eines hohen Wiederverwendundgsanteils Beiträge sind in elektronischer Form (PDF oder existierender und bereits erprobter Komponenten. PostScript) an knauber@iese.fhg.de einzureichen; der Auch das Anpassen von Standardprodukten an beson- Umfang der Beiträge sollte fünf Seiten nicht über- dere Kundenwünsche wird durch vorab geplante schreiten. Weitere Informationen sind unter Variabilität erleichtert. Produktlinien decken naturge- http://www.iese.fhg.de/dspl-workshop mäß den gesamten Softwarelebenszyklus ab, daher verfügbar. integrieren sie viele andere Themenbereiche wie Termine: Requirements Engineering, Softwarearchitekturen Einsendung von Beiträgen: 31.8.2000 und Reengineering. Benachrichtigung über die Annahme: 1.10.2000 Nach etwa einem Jahrzehnt der Forschung erfahren Einsendung der endgültigen Version: 20.10.2000 Produktlinien für Softwaresysteme immer mehr Auf- Versand des endgültigen Programms: 25.10.2000 merksamkeit, was sich in der zunehmenden Anzahl Programmkommitee: internationaler Veranstaltungen zu diesem Themen- • Dr. P. Knauber (Fraunhofer IESE) kreis niederschlägt. Auch in Deutschland stoßen Pro- • Prof. Dr. K. Pohl (Universität Essen) duktlinien und benachbarte Themengebiete auf immer mehr Interesse, was sich unter anderem an der Beteili- • Prof. Dr. C. Atkinson (Universität Kaiserslautern) gung verschiedener Organisationen an europäischen • Dr. G. Böckle (Siemens AG) Projekten wie z.B. PRAISE und ESAPS zeigt. • Dr.-Ing. K. Czarnecki (DaimlerChrysler AG) • Prof. Dr. U. Eisenecker (FH Kaiserslautern) Ziel des Workshops • Prof. Dr. E. Plödereder (Universität Stuttgart) • Prof. Dr. W. Pree (Universität Konstanz) Der Workshop hat zum Ziel, einen Erfahrungsaus- • Prof. Dr. D. Rombach (Fraunhofer IESE) tausch zwischen Industrie und Forschung im Bereich • S. Thiel (Robert Bosch GmbH) der Software-Produktlinien und angrenzender The- • R. Trauter (DaimlerChrysler AG) menbereiche zu ermöglichen. • Dr. M. Verlage (Market Maker Software AG)
  • 8. In software product lines, they have these product-feature maps that describe the commonalities and differences of the products with respect to their features as a table.
  • 9. At that time, there was a German professor, Gregor Snelting, who introduced formal concept analysis in software engineering. I taught formal concept analysis as part of my reengineering class.
  • 10. Concept analysis allows you to analyze such tables. In mathematical terms, concept analysis is a technique to analyze the structure of arbitrary binary relations. We proposed in that German workshop to use concept analysis to analyze such product-feature maps in software product lines. I will describe it later in more detail.
  • 11. However, we were more interested in program analysis than in requirement engineering. Another problem they have in product lines is to identify the components necessary to implement a feature, which is needed to identify re-usable components to be used in product lines. So we decided to use formal concept analysis to search where features are implemented in the code.