Συλλογές | |
---|---|
Τίτλος |
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/ |