"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.