Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/114668
Title: A Model-Driven Approach for the Management and Enforcement of Coding Conventions
Authors: Rodrigues, Elder
Pereira, José D'Abruzzo 
Montecchi, Leonardo
Keywords: Coding standards; coding conventions; model-driven engineering; domain-specific languages; static analysis
Issue Date: 2023
Publisher: IEEE
Project: 2020.04503.BD 
UIDB/00326/2020 
UIDP/00326/2020 
Serial title, monograph or event: IEEE Access
Volume: 11
Abstract: Coding conventions are a means to improve the reliability of software systems, and they are especially useful to avoid the introduction of known bugs or security flaws. However, coding rules typically come in the form of text written in natural language, which makes them hard to manage and to enforce. Following the model-driven engineering principles, in this paper we propose an approach for the management and enforcement of coding conventions using structured models. We define the Coding Conventions Specification Language (CCSL), a language to define coding rules as structured specifications, from which checkers are derived automatically by code generation. To evaluate our approach, we run a thorough experiment on 8 real open-source projects and 77 coding rules for the Java language, comparing the violations identified by our checkers with those reported by the PMD static analysis tool. The obtained results are promising and confirm the feasibility of the approach. The experiment also revealed that textual coding rules rarely document all the necessary information to write a reliable checker.
URI: https://hdl.handle.net/10316/114668
ISSN: 2169-3536
DOI: 10.1109/ACCESS.2023.3256886
Rights: openAccess
Appears in Collections:FCTUC Eng.Informática - Artigos em Revistas Internacionais
I&D CISUC - Artigos em Revistas Internacionais

Files in This Item:
Show full item record

Page view(s)

29
checked on Jul 3, 2024

Download(s)

13
checked on Jul 3, 2024

Google ScholarTM

Check

Altmetric

Altmetric


This item is licensed under a Creative Commons License Creative Commons