Title | ||
---|---|---|
Experiences from Designing and Validating a Software Modernization Transformation (E) |
Abstract | ||
---|---|---|
Software modernization often involves complex code transformations that convert legacy code to new architectures or platforms, while preserving the semantics of the original programs. We present the lessons learnt from an industrial software modernization project of considerable size. This includes collecting requirements for a code-to-model transformation, designing and implementing the transformation algorithm, and then validating correctness of this transformation for the code-base at hand. Our transformation is implemented in the TXL rewriting language and assumes specifically structured C++ code as input, which it translates to a declarative configuration model. The correctness criterion for the transformation is that the produced model admits the same configurations as the input code. The transformation converts C++ functions specifying around a thousand configuration parameters. We verify the correctness for each run individually, using translation validation and symbolic execution. The technique is formally specified and is applicable automatically for most of the code-base. |
Year | DOI | Venue |
---|---|---|
2015 | 10.1109/ASE.2015.84 | Automated Software Engineering |
Keywords | Field | DocType |
Experience Report, Functional Equivalence, Program Transformation, Symbolic Execution | Static program analysis,Program transformation,Programming language,Software engineering,Source code,Computer science,Correctness,Theoretical computer science,Symbolic execution,Legacy code,KPI-driven code analysis,Software modernization | Conference |
ISSN | Citations | PageRank |
1527-1366 | 5 | 0.41 |
References | Authors | |
19 | 6 |
Name | Order | Citations | PageRank |
---|---|---|---|
Alexandru F. Iosif-Lazar | 1 | 6 | 0.78 |
Ahmad Salim Al-Sibahi | 2 | 27 | 3.10 |
Aleksandar S. Dimovski | 3 | 59 | 8.60 |
Juha Savolainen | 4 | 384 | 38.13 |
Krzysztof Sierszecki | 5 | 167 | 17.08 |
Andrzej Wasowski | 6 | 1282 | 60.47 |