When | What |
---|---|
March 12, 2015 | Donated by Paul Klint, Davy Landman, and Jurgen Vinju |
@INPROCEEDINGS{6676883,
author={Klint, P. and Landman, D. and Vinju, J.},
booktitle={Software Maintenance (ICSM), 2013 29th IEEE International Conference on},
title={Exploring the Limits of Domain Model Recovery},
year={2013},
month={Sept},
pages={120-129},
keywords={public domain software;software maintenance;specification languages;systems re-engineering;domain model recovery limits;domain-specific languages;legacy applications;modern legacy systems;reengineering families;reference model extraction;reverse engineering domain knowledge;source code;Analytical models;DSL;Documentation;Object oriented modeling;Planning;Project management;Reverse engineering;domain models;reverse engineering},
doi={10.1109/ICSM.2013.23},
ISSN={1063-6773},}
We are interested in re-engineering families of legacy applications towards using Domain-Specific Languages (DSLs). Is it worth to invest in harvesting domain knowledge from the source code of legacy applications?
Reverse engineering domain knowledge from source code is sometimes considered very hard or even impossible. Is it also difficult for “modern legacy systems”? In this paper we select two open-source applications and answer the following research questions: which parts of the domain are implemented by the application, and how much can we manually recover from the source code? To explore these questions, we compare manually recovered domain models to a reference model extracted from domain literature, and measured precision and recall.
The recovered models are accurate: they cover a significant part of the reference model and they do not contain much junk. We conclude that domain knowledge is recoverable from “modern legacy” code and therefore domain model recovery can be a valuable component of a domain re-engineering process.
This dataset contains multiple models:
The model is written as a Rascal-MPL ADT.