PYXIDA Institutional Repository
and Digital Library
 Home
Collections :

Title :Extending maintainability analysis beyond code smells
Creator :Tushar, Sharma
Contributor :Spinellis, Diomidis (Επιβλέπων καθηγητής)
Louridas, Panagiotis (Εξεταστής)
Gousios, Georgios (Εξεταστής)
Kessentini, Marouane (Εξεταστής)
Malevris, Nikolaos (Εξεταστής)
Stamelos, Ioannis (Εξεταστής)
Chatzigeorgiou, Alexandros (Εξεταστής)
Athens University of Economics and Business, Department of Management Science and Technology (Degree granting institution)
Type :Text
Extent :187p.
Language :en
Identifier :http://www.pyxida.aueb.gr/index.php?op=view_object&object_id=7230
Abstract :Code smells indicate the presence of quality problems impacting many facets of software quality such as maintainability, reliability, and testability. The presence of an excessive number of smells in a software system makes it hard to maintain and evolve.Our first aim in this thesis is to understand the characteristics of code smells, such as their occurrence frequency, and relationships such as correlation and collocation among smells arising at different granularities. We aim to perform an exploratory study to investigate the feasibility of detecting smells using deep learning methods without carrying out extensive feature engineering. We would also like to explore whether transfer-learning can be employed in the smell detection context. Apart from the production source code, other sub-domains of software such as configuration code in Infrastructure as Code (IaC) paradigm and database code are also prone to maintainability issues. Our next goal is to propose a method to identify quality issues in configuration code and carry out a maintainability analysis.We perform a large-scale empirical study to analyze production code written in C# from maintainability perspective. We mine seven architecture, 19 design, 11 implementation smells from a large set of 3,209 open-source repositories containing more than 83 million lines of code. Our exploration with deep learning techniques establishes that deep learning methods can be used for smell detection though the performance of individual models varies significantly. We extend the maintainability analysis to configuration code. We analyze 4,621 Puppet repositories containing 142,662 Puppet files and more than 8.9 million lines of code using Puppeteer - a configuration smell detection tool that we developed. Further, we investigates relational database schema smells and its relationships with application and database characteristics. We compare between open-source and industrial codebase from database schema quality perspective.
Subject :Code smells
Maintainability
Software quality
Technical debt
Tools
Date Issued :02-05-2019
Date Submitted :2019-09-04 16:04:24
Access Rights :Free access
Licence :

File: Tushar_2019.pdf

Type: application/pdf