University of Twente Student Theses
The LAMP Framework - A language-agnostic code quality assurance framework for multi-paradigm languages
Arend, M.Q.T.P. van der (2023) The LAMP Framework - A language-agnostic code quality assurance framework for multi-paradigm languages.
PDF
4MB |
Abstract: | In recent years, object-oriented programming (OOP) languages have adopted many features of the functional programming (FP) paradigm. We call the combination of these programming paradigms multi-paradigm (MP). Many tools have tried to predict fault proneness for a specific MP programming language. However, these predictions were not accurate because of the lack of a large heterogeneous collection of MP software projects containing the MP constructs required for accurate predictions. We propose a framework that transforms MP source code to a language-agnostic representation and which can compute code quality metrics on this language-agnostic level. The framework uses the LAMP metamodel which is an abstraction of the abstract syntax trees (ASTs) of Java, C#, Kotlin and Scala. To evaluate the correctness and accuracy of the framework, a prototype was developed, and its metric computations were compared to computations of two benchmarks in five Java projects. We conclude that our LAMP metamodel can capture the most important constructs of multi-paradigm languages, and our framework is able to put forward a consistent workflow for assuring code quality. Therefore, we argue that our framework design represents a significant step towards solving the data scarcity problem with fault proneness detection in MP programming languages. |
Item Type: | Essay (Master) |
Faculty: | EEMCS: Electrical Engineering, Mathematics and Computer Science |
Subject: | 54 computer science |
Programme: | Computer Science MSc (60300) |
Link to this item: | https://purl.utwente.nl/essays/94619 |
Export this item as: | BibTeX EndNote HTML Citation Reference Manager |
Repository Staff Only: item control page