13 August 2020
14:00 Master's Defense Fully distance
Theme
A Metamodel to Support the Formalization of Coding Conventions
Student
Elder de Oliveira Rodrigues Júnior
Advisor / Teacher
Leonardo Montecchi
Brief summary
Coding conventions are part of any structured software development process and can be established for a variety of reasons, from improving code readability to preventing the introduction of security holes. Like many other artifacts in the development process, coding conventions can be in the form of textual documents written in natural language, possibly with code examples. When code conventions are described in textual form, they offer limited benefits, due to the difficulty of actually being managed and applied. This project investigates the formalization of coding conventions using Model-Driven Engineering approaches. The main result of this project is a metamodel (that is, an abstract syntax of a language) capable of describing existing code coding rules. In addition, model transformations have been developed to transform formalized rules into verifiers capable of detecting violations of such rules in the source code. The possibility of formalizing coding conventions will open up several benefits, for example, industry standards may include formal definitions of coding rules and tool developers can expose the set of rules that their tool is able to verify. In addition, a formal description of the coding convention will allow for further research on the automated generation of verifiers for these rules and the creation of graphic or textual representations of the coding conventions, based on the language defined in this project.
Examination Board
Headlines:
Leonardo Montecchi IC / UNICAMP
Ricardo Terra Nunes Bueno Villela DCC / UFLA
Breno Bernard Nicolau de França IC / UNICAMP
Daniel Lucrédio DC / UFSCAR
Substitutes:
Cecília Mary Fischer Rubira IC / UNICAMP
Baldoino Fonseca dos Santos Neto IC / UFAL