Συλλογές
Τίτλος Extending maintainability analysis beyond code smells
Δημιουργός Tushar, Sharma
Συντελεστής Athens University of Economics and Business, Department of Management Science and Technology
Chatzigeorgiou, Alexandros
Malevris, Nikolaos
Stamelos, Ioannis
Gousios, Georgios
Kessentini, Marouane
Spinellis, Diomidis
Louridas, Panagiotis
Τύπος Text
Φυσική περιγραφή 187p.
Γλώσσα en
Αναγνωριστικό http://www.pyxida.aueb.gr/index.php?op=view_object&object_id=7230
Περίληψη 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.
Λέξη κλειδί Tools
Technical debt
Software quality
Code smells
Maintainability
Ημερομηνία έκδοσης 02-05-2019
Ημερομηνία κατάθεσης 2019-09-04 16:04:24
Δικαιώματα χρήσης Free access
Άδεια χρήσης https://creativecommons.org/licenses/by/4.0/