Towards Software Analytics: Modeling Maintenance Activities

03/09/2019
by   Stanislav Levin, et al.
0

Lehman's Laws teach us that a software system will become progressively less satisfying to its users over time, unless it is continually adapted to meet new needs. Understanding software maintenance can potentially relieve many of the pains currently experienced by practitioners in the industry and assist in reducing uncertainty, improving cost-effectiveness, reliability and more. The research community classifies software maintenance into 3 main activities: Corrective: fault fixing; Perfective: system improvements; Adaptive: new feature introduction. In this work we seek to model software maintenance activities and design a commit classification method capable of yielding a high quality classification model. We performed a comparative analysis of our method and existing techniques based on 11 popular open source projects from which we had manually classified 1151 commits, over 100 commits from each of the studied projects. The model we devised was able to achieve an accuracy of 76 (considered '"Good" in this context) for the test dataset, an improvement of over 20 percentage points, and a relative improvement of 40 cross-project classification. We then leverage our commit classification method to demonstrate two applications: (1) a tool aimed at providing an intuitive visualization of software maintenance activities over time, and (2) an in-depth analysis of the relationship between maintenance activities and unit tests.

READ FULL TEXT
research
10/20/2019

Visually Exploring Software Maintenance Activities

Lehman's Laws teach us that a software system will become progressively ...
research
11/14/2017

Boosting Automatic Commit Classification Into Maintenance Activities By Utilizing Source Code Changes

Background: Understanding maintenance activities performed in a source c...
research
07/26/2017

An Activity-Based Quality Model for Maintainability

Maintainability is a key quality attribute of successful software system...
research
06/09/2023

Analyzing Maintenance Activities of Software Libraries

Industrial applications heavily integrate open-source software libraries...
research
07/10/2019

Do Design Metrics Capture Developers Perception of Quality? An Empirical Study on Self-Affirmed Refactoring Activities

Background. Refactoring is a critical task in software maintenance and i...
research
12/08/2020

The Maintenance Location Choice Problem for Railway Rolling Stock

Due to increasing railway use, the capacity at railway yards and mainten...
research
09/21/2021

Manifesto for Putting 'Chartjunk' in the Trash 2021!

In this provocation we ask the visualization research community to join ...

Please sign up or login with your details

Forgot password? Click here to reset