Towards Software Analytics: Modeling Maintenance Activities

by   Stanislav Levin, et al.

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.


Visually Exploring Software Maintenance Activities

Lehman's Laws teach us that a software system will become progressively ...

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

Background: Understanding maintenance activities performed in a source c...

An Activity-Based Quality Model for Maintainability

Maintainability is a key quality attribute of successful software system...

Analyzing Maintenance Activities of Software Libraries

Industrial applications heavily integrate open-source software libraries...

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...

The Maintenance Location Choice Problem for Railway Rolling Stock

Due to increasing railway use, the capacity at railway yards and mainten...

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