IDEAS home Printed from https://ideas.repec.org/a/gam/jsusta/v13y2021i22p12848-d683707.html
   My bibliography  Save this article

Analyzing Static Analysis Metric Trends towards Early Identification of Non-Maintainable Software Components

Author

Listed:
  • Thomas Karanikiotis

    (Cyclopt P.C., 55535 Thessaloniki, Greece
    School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece)

  • Michail D. Papamichail

    (Cyclopt P.C., 55535 Thessaloniki, Greece)

  • Andreas L. Symeonidis

    (Cyclopt P.C., 55535 Thessaloniki, Greece
    School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, Greece)

Abstract

Nowadays, agile software development is considered a mainstream approach for software with fast release cycles and frequent changes in requirements. Most of the time, high velocity in software development implies poor software quality, especially when it comes to maintainability. In this work, we argue that ensuring the maintainability of a software component is not the result of a one-time only (or few-times only) set of fixes that eliminate technical debt, but the result of a continuous process across the software’s life cycle. We propose a maintainability evaluation methodology, where data residing in code hosting platforms are being used in order to identify non-maintainable software classes. Upon detecting classes that have been dropped from their project, we examine the progressing behavior of their static analysis metrics and evaluate maintainability upon the four primary source code properties: complexity, cohesion, inheritance and coupling. The evaluation of our methodology upon various axes, both qualitative and quantitative, indicates that our approach can provide actionable and interpretable maintainability evaluation at class level and identify non-maintainable components around 50% ahead of the software life cycle. Based on these results, we argue that the progressing behavior of static analysis metrics at a class level can provide valuable information about the maintainability degree of the component in time.

Suggested Citation

  • Thomas Karanikiotis & Michail D. Papamichail & Andreas L. Symeonidis, 2021. "Analyzing Static Analysis Metric Trends towards Early Identification of Non-Maintainable Software Components," Sustainability, MDPI, vol. 13(22), pages 1-19, November.
  • Handle: RePEc:gam:jsusta:v:13:y:2021:i:22:p:12848-:d:683707
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/2071-1050/13/22/12848/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/2071-1050/13/22/12848/
    Download Restriction: no
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jsusta:v:13:y:2021:i:22:p:12848-:d:683707. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.