Abstract | ||
---|---|---|
When reengineering large systems, software developers would like to assess and compare the impact of multiple change scenarios without actually performing these changes. A change can be effected by applying a tool to the source code, or by a manual refactoring. In addition, tools run over a model are costly to redevelop. It raises an interesting challenge for tools implementors: how to support modification of large source code models to enable comparison of multiple versions. One naive approach is to copy the entire model after each modification. However, such an approach is too expensive in memory and execution time. In this paper we explore different implementations that source code metamodels support multiple versions of a system. We propose a solution based on dynamic binding of entities between multiple versions, providing good access performance while minimizing memory consumption. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1145/1735935.1735937 | IWST |
Keywords | Field | DocType |
model,object-oriented language,large system model,smalltalk,multiple version,version,multiple change scenario,reengineering large system,tools implementors,memory consumption,source code,entire model,incremental change,naive approach,design,software analysis,large source code model,source code metamodels,dynamic binding,system modeling,software development,object oriented language | Programming language,Object-oriented programming,Source code,Software analysis pattern,Computer science,Smalltalk,Implementation,Software,KPI-driven code analysis,Code refactoring | Conference |
Citations | PageRank | References |
2 | 0.37 | 5 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Jannik Laval | 1 | 116 | 13.63 |
Simon Denier | 2 | 67 | 6.93 |
Stéphane Ducasse | 3 | 3418 | 243.15 |
Andy Kellens | 4 | 289 | 20.72 |