Experiences from Designing and Validating a Software Modernization Transformation

Alexandru Florin Iosif-Lazăr, Ahmad Salim Al-Sibahi, Aleksandar Dimovski, Juha Erik Savolainen, Krzysztof Sierszecki, Andrzej Wasowski

    Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

    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.
    Original languageEnglish
    Title of host publicationProceedings of the 30th ACM/IEEE international conference on Automated software engineering
    PublisherIEEE
    Publication dateNov 2015
    Pages597 - 607
    ISBN (Print)978-1-5090-0024-1
    DOIs
    Publication statusPublished - Nov 2015
    Event30th IEEE/ACM International Conference on Automated Software Engineering - Embassy Suites Lincoln, Lincoln, Nebraska, United States
    Duration: 9 Nov 201513 Nov 2015
    Conference number: 30
    http://ase2015.unl.edu/#tab-main

    Conference

    Conference30th IEEE/ACM International Conference on Automated Software Engineering
    Number30
    LocationEmbassy Suites Lincoln
    Country/TerritoryUnited States
    CityLincoln, Nebraska
    Period09/11/201513/11/2015
    Internet address

    Keywords

    • Software modernization
    • Code transformation
    • Legacy code
    • TXL rewriting
    • Symbolic execution

    Fingerprint

    Dive into the research topics of 'Experiences from Designing and Validating a Software Modernization Transformation'. Together they form a unique fingerprint.

    Cite this