Enriching Reverse Engineering with Annotations

Brühlmann, Andrea; Girba, Tudor Adrian; Greevy, Orla; Nierstrasz, Oscar Marius (2008). Enriching Reverse Engineering with Annotations. In: Czarnecki, Krzysztof; Ober, Ileana; Bruel, Jean-Michel; Uhl, Axel; Völter, Markus (eds.) Model Driven Engineering Languages and Systems. Proceedings. Lecture Notes in Computer Science: Vol. 5301 (pp. 660-674). Heidelberg: Springer Verlag 10.1007/978-3-540-87875-9_46

[img] Text
Seiten aus 10.1007_978-3-540-87875-9.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (865kB) | Request a copy

Much of the knowledge about software systems is implicit, and therefore difficult to recover by purely automated techniques. Architectural layers and the externally visible features of software systems are two examples of information that can be difficult to detect from source code alone, and that would benefit from additional human knowledge. Typical approaches to reasoning about data involve encoding an explicit meta-model and expressing analyses at that level. Due to its informal nature, however, human knowledge can be difficult to characterize up-front and integrate into such a meta-model. We propose a generic, annotation-based approach to capture such knowledge during the reverse engineering process. Annotation types can be iteratively defined, refined and transformed, without requiring a fixed meta-model to be defined in advance. We show how our approach supports reverse engineering by implementing it in a tool called Metanool and by applying it to (i) analyzing architectural layering, (ii) tracking reengineering tasks, (iii) detecting design flaws, and (iv) analyzing features.

Item Type:

Book Section (Book Chapter)


08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Girba, Tudor Adrian; Greevy, Orla and Nierstrasz, Oscar Marius


000 Computer science, knowledge & systems
500 Science > 510 Mathematics




Lecture Notes in Computer Science


Springer Verlag




Factscience Import

Date Deposited:

04 Oct 2013 15:22

Last Modified:

25 Sep 2017 08:09

Publisher DOI:


Web of Science ID:





https://boris.unibe.ch/id/eprint/37134 (FactScience: 206792)

Actions (login required)

Edit item Edit item
Provide Feedback