DocumentCode
2234812
Title
Example-Driven Reconstruction of Software Models
Author
Nierstrasz, Oscar ; Kobel, Markus ; Girba, Tudor ; Lanza, Michele
Author_Institution
Inst. of Comput. Sci., Bern Univ.
fYear
2007
fDate
21-23 March 2007
Firstpage
275
Lastpage
286
Abstract
As software systems evolve, they become more complex and harder to understand and maintain. Certain reverse engineering techniques attempt to reconstruct software models from source code with the help of a parser for the source language. Unfortunately a great deal of effort may be required to build a specialized parser for a legacy programming language or dialect. On the other hand, (i) we typically do not need a complete parser that recognizes all language constructs, and (ii) we have a rich supply of (legacy) examples. We present an approach to use these facts to rapidly and incrementally develop parsers as follows: we specify mappings from source code examples to model elements; we use the mappings to generate a parser; we parse as much code as we can; we use the exceptional cases to develop new example mappings; and we iterate. Experiments with Java and Ruby, two very different languages, suggest that our approach can be a very efficient and effective way to rapidly construct software models from legacy code
Keywords
Java; grammars; reverse engineering; software maintenance; Java language; Ruby language; example-driven software model reconstruction; grammar; legacy programming language; parsing; reverse engineering; Artificial intelligence; Computer languages; Computer science; Computer vision; Documentation; Informatics; Java; Reverse engineering; Software maintenance; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance and Reengineering, 2007. CSMR '07. 11th European Conference on
Conference_Location
Amsterdam
ISSN
1534-5351
Print_ISBN
0-7695-2802-3
Type
conf
DOI
10.1109/CSMR.2007.23
Filename
4145045
Link To Document