Posts by Collection

grants

Co-Existence of Modeling Language Versions and their Bounded Co-Evolution (COEE)

Preserving the history of diverse engineering artifacts (e.g., design models, requirements, code) is vital for software engineering. Version control systems, however, focus on textual changes without understanding the syntax/semantics of their underlying languages (metamodels) let alone nuances of language evolutions (e.g., UML 2.1 to UML 2.2). Other platforms manage changes better but typically do not support arbitrary artifacts, languages, and versions. Yet, without understanding this history we do not truly understand how engineering language evolution affects engineering artifacts, their consistency, and traceability. Projects tend to use multiple languages concurrently but their evolutions rarely coincide (e.g., UML, JAVA, or EARS languages change at different times). Hence, artifacts of different versions of a given language may co-exist (e.g., client code in Java 1.8 and server code in Java 20) with artifacts of different versions of other languages (e.g., a UML 2.1 model and EARS 2009 requirements). The first main objective of this research is to develop a mechanism for language versions and their artifacts to co-exist even within the same project. With co-existing artifacts, however, we need to handle quadratically growing n-ary relationships among all versions of all languages (e.g., UML 2.1 to Java 1.8 consistency is not exactly UML 1.4 to Java 20 consistency). The second main objective is to support n-ary consistency and traceability among arbitrary language versions and their artifacts. This project addresses the co-existence and co-evolution of languages and their artifacts by first establishing a clear foundation for understanding changes at the language and artifact levels. It then develops a generic mechanism for recording and maintaining a change history enabling the automated co-existence of language versions and their respective artifacts. Finally, it develops n-ary methods for the co-evolution of artifacts and their relationships with arbitrary language versions. State-of-the-art does address the co-evolution of metamodels (languages) and models (artifacts). However, it does not address what happens if some artifacts evolve but not others. Similarly, state-of-the-art does address the co-evolution of some relationships such as consistency. However, it does not address quadratically growing n-ary relationships among all versions of all languages. Our objectives are thus both novel and vital for model-driven engineering today.

RefactorAI

Legacy systems are outdated systems with degraded architecture, obsolete features, and inefficient technologies. To stay competitive in today’s rapidly evolving digital landscape, organizations must modernize their legacy systems and update them to integrate with modern technologies. However, the modernization process presents significant challenges, as it requires tedious manual refactoring tasks, often further complicated by the lack of proper documentation and the unavailability of the original developers. To address these challenges, we propose the RefactorAI project, which focuses on developing an AI-integrated methodology and tool to assist developers in the refactoring tasks associated with legacy systems. The proposed approach leverages the strengths of AI, in particular Generative AI (GenAI) in combination with existing modernization approaches, while incorporating human oversight to limit the drawbacks of AI, such as LLM hallucinations. By integrating AI into the refactoring process, we aim to significantly reduce the time and cost associated with modernization efforts, while also mitigating the risks of technical debt and system vulnerability. The outcomes of RefactorAI are expected to contribute to economic, social, and ecological sustainability by making software systems more efficient, reducing technical debt, and facilitating the adoption of new technologies.

portfolio

publications

Thoth: A web-based tool to support systematic reviews Permalink

Published in ESEM, 2019

Marchezan, L., Bolfe, G., Rodrigues, E., Bernardino, M., & Basso, F. P. (2019, September). Thoth: A web-based tool to support systematic reviews. In 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 1-6). IEEE.

Software product line scoping: A systematic literature review Permalink

Published in JSS, 2022

Marchezan, L., Rodrigues, E., Assunção, W. K., Bernardino, M., Basso, F. P., & Carbonell, J. (2022, September). Software product line scoping: A systematic literature review. In Proceedings of the 26th ACM International Systems and Software Product Line Conference-Volume A (pp. 256-256).

Change-Oriented Repair Propagation Permalink

Published in ICSSP, 2022

Marchezan, L., Assuncao, W. K., Kretschmer, R., & Egyed, A. (2022, May). Change-Oriented Repair Propagation. In Proceedings of the International Conference on Software and System Processes and International Conference on Global Software Engineering (pp. 82-92).

Actionable light-weight process guidance Permalink

Published in Journal of Systems and Software, 2024

Mayr-Dorn, C., Ratiu, C.-C., Marchezan, L., Keplinger, F., Egyed, A., & Walden, G. (Journal of Systems and Software 2024). Actionable light-weight process guidance.

A Tool for Collaborative Consistency Checking During Modeling Permalink

Published in MODELS-COPAMO, 2024

Marchezan, L., Homolka, M., Blokhin, A., Assunção, W. K., Herac, E., & Egyed, A. (2024, September). A Tool for Collaborative Consistency Checking During Modeling. In Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems (pp. 655-659).

talks

teaching

343.008 Model-driven Engineering

Master's course (3 credits), Johannes Kepler University, Institute of Software Systems Engineering, 2024

The topic of this course was on Model-driven Engineering

343.008 Model-driven Engineering

Master's course (3 credits), Johannes Kepler University, Institute of Software Systems Engineering, 2025

The topic of this course was on Model-driven Engineering