Adaptation of a refactoring DSL for the object-oriented paradigm

Many development environments offer refactorings aimed at improving non-functional properties of software, but we have no guarantees that these transformations indeed preserve the observable behavior of the source code they are applied on. An existing domain-specific language makes it possible to fo...

Teljes leírás

Elmentve itt :
Bibliográfiai részletek
Szerzők: Németh Dávid J.
Horpácsi Dániel
Tejfel Máté
Dokumentumtípus: Cikk
Megjelent: University of Szeged, Institute of Informatics Szeged 2022
Sorozat:Acta cybernetica 25 No. 4
Kulcsszavak:Programozás, Refaktorálás, Szoftverfejlesztés
Tárgyszavak:
doi:10.14232/actacyb.284280

Online Access:http://acta.bibl.u-szeged.hu/86956
Leíró adatok
Tartalmi kivonat:Many development environments offer refactorings aimed at improving non-functional properties of software, but we have no guarantees that these transformations indeed preserve the observable behavior of the source code they are applied on. An existing domain-specific language makes it possible to formalize automatically verifiable refactorings via instantiating predefined transformation schemes with conditional term rewrite rules. We present a proposal for adapting this language from the functional to the object-oriented programming paradigm, using Java instead of Erlang as a representative. The behavior-preserving property of discussed refactorings is characterized with a multilayered definition of equivalence for Java programs, including the conformity relation of class hierarchies. Based on the decomposition of a complex refactoring rule, we show how new transformation schemes can be identified, along with modifications and extensions of the description language required to accommodate them. Finally, we formally define the chosen base refactoring as a composition of scheme instances.
Terjedelem/Fizikai jellemzők:817-846
ISSN:2676-993X