Abstract
The code smells research and detection is an important topic in softwaremaintenance and quality assessment. Indeed, since the introduction of the
term by Martin Fowler and Kent Beck in 1999, it has been widely adopted
and a lot of research about code smells has been conducted. NoSQL (Not
only SQL) oriented database management systems appeared about ten years
ago and now begin to be a subject of interest in scientific studies. Because
of the emergence of new database management systems, new types of code
smells need to be studied so that their persistence in these new systems can
be avoided. This thesis aims at presenting the techniques we have defined and
implemented to detect various code smells in the interactions between a Java
program and a MongoDB database. We first defined a catalog to group and
classify the code smells we could find in the literature. Then, we developed
methods using CodeQL, a static code analysis tool, to detect instances of
certain code smells that we had chosen in our catalog beforehand.
Date of Award | 30 Aug 2021 |
---|---|
Original language | English |
Awarding Institution |
|
Supervisor | Anthony Cleve (Supervisor) |
Keywords
- static code analysis
- Code smells
- MongoDB
- Taxonomy
- Detection
- Anti-patterns
- NoSQL
- CodeQL
- Java