Javascript must be enabled to continue!
Continuous monitoring of software evolution
View through CrossRef
As software continues to evolve, complexity accumulates through various maintenance activities, such as bug fixes, new feature implementations, etc., inevitably resulting in architecture degradation that can cause significant maintenance difficulties into the software systems. Therefore, continuous monitoring of software evolution and quality is crucial for developers and architects. Current state-of-the-art research analyzes software evolution among different releases by tracking software problems, such as code smells or anti-pattern etc, or monitoring metrics which reflect software complexity or quality, such as McCabe complexity or decouple level, etc. While these artifacts provide valuable insights to software evolution, they have some limitations. First, these code smells or anti-pattern detection tools report too many problems, most of which are false positives and are not causing maintenance cost. Second, these techniques failed to report these problems early as a threshold is required in their measurements. For example, one anti-pattern is called Unstable Interface. According to its default setting, a file will be detected as an unstable interface if it has 1% of all the project's files as dependents and has co-changed with at least 10 of them at least two times. So when such a problem is detected, it has already incurred severe negative impacts. In this dissertation, we propose three novel evolutionary models: propagation pattern, maintenance community and active hotspot to address these problems. The rationale behind these models is to use issues as first-class entities to continuously monitor the changes to a system instead of scanning discrete releases of the whole system. We focus on problematic files in issues which are the early warning signs of smells and anti-patterns. Propagation patterns reveal the propagation of changes in non-trivial issues and they are atomic smells as they can be mapped to common smells and anti-patterns. Maintenance communities capture files groups addressing an issue in a project's revision history as a community and detect the most persistent communities in software evolution. In addition, we proposed to use the files modified by multiple issues as seeds and group these seeds along with files in which changes are actively propagating to and from these seeds as an active hotspot. We studies dozens of open-source projects, covering hundreds of releases, thousands of security and general issues, and millions of lines of code, and our results show that propagation pattern can identify problematic smells and maintenance community can detect file groups linked by issues so that developers can prioritize these most severe problems in their systems. Most importantly, by monitoring the emergence and evolution of active hotspots, it is possible to detect signs of software degradation 18 to 25 months earlier than another state-of-the-art tool, so that these problems won't accumulate into severe maintenance costs. Furthermore, we implemented a tool suite to automatically detect and visualize the life cycle, such as the birth, growth and the death, of maintenance community and active hotspot. In this way, not only can developers detect true problems more precisely, but they can also identify these problems early, as they emerge, to prevent further severe maintenance cost.
Title: Continuous monitoring of software evolution
Description:
As software continues to evolve, complexity accumulates through various maintenance activities, such as bug fixes, new feature implementations, etc.
, inevitably resulting in architecture degradation that can cause significant maintenance difficulties into the software systems.
Therefore, continuous monitoring of software evolution and quality is crucial for developers and architects.
Current state-of-the-art research analyzes software evolution among different releases by tracking software problems, such as code smells or anti-pattern etc, or monitoring metrics which reflect software complexity or quality, such as McCabe complexity or decouple level, etc.
While these artifacts provide valuable insights to software evolution, they have some limitations.
First, these code smells or anti-pattern detection tools report too many problems, most of which are false positives and are not causing maintenance cost.
Second, these techniques failed to report these problems early as a threshold is required in their measurements.
For example, one anti-pattern is called Unstable Interface.
According to its default setting, a file will be detected as an unstable interface if it has 1% of all the project's files as dependents and has co-changed with at least 10 of them at least two times.
So when such a problem is detected, it has already incurred severe negative impacts.
In this dissertation, we propose three novel evolutionary models: propagation pattern, maintenance community and active hotspot to address these problems.
The rationale behind these models is to use issues as first-class entities to continuously monitor the changes to a system instead of scanning discrete releases of the whole system.
We focus on problematic files in issues which are the early warning signs of smells and anti-patterns.
Propagation patterns reveal the propagation of changes in non-trivial issues and they are atomic smells as they can be mapped to common smells and anti-patterns.
Maintenance communities capture files groups addressing an issue in a project's revision history as a community and detect the most persistent communities in software evolution.
In addition, we proposed to use the files modified by multiple issues as seeds and group these seeds along with files in which changes are actively propagating to and from these seeds as an active hotspot.
We studies dozens of open-source projects, covering hundreds of releases, thousands of security and general issues, and millions of lines of code, and our results show that propagation pattern can identify problematic smells and maintenance community can detect file groups linked by issues so that developers can prioritize these most severe problems in their systems.
Most importantly, by monitoring the emergence and evolution of active hotspots, it is possible to detect signs of software degradation 18 to 25 months earlier than another state-of-the-art tool, so that these problems won't accumulate into severe maintenance costs.
Furthermore, we implemented a tool suite to automatically detect and visualize the life cycle, such as the birth, growth and the death, of maintenance community and active hotspot.
In this way, not only can developers detect true problems more precisely, but they can also identify these problems early, as they emerge, to prevent further severe maintenance cost.
Related Results
Performance simulation methodologies for hardware/software co-designed processors
Performance simulation methodologies for hardware/software co-designed processors
Recently the community started looking into Hardware/Software (HW/SW) co-designed processors as potential solutions to move towards the less power consuming and the less complex de...
Software Assurance
Software Assurance
Abstract
Confidence in software quality is a rare commodity throughout all industries. Software publishers, users, and system integrators are highly distrustful of anyone...
Library-Based Overview of Multicriteria Decision Making for Continuous Software Improvement for Internet of Software Industry
Library-Based Overview of Multicriteria Decision Making for Continuous Software Improvement for Internet of Software Industry
The revolution in software development is increasing with the use of advanced techniques and tools. Software development organizations are considering standards, methods, approache...
ELIXIR Europe on the Road to Sustainable Research Software
ELIXIR Europe on the Road to Sustainable Research Software
ELIXIR (ELIXIR Europe 2019a) is an intergovernmental organization that brings together life science resources across Europe. These resources include databases, software tools, trai...
DESAIN SISTEM MONITORING KUALITAS DAYA LISTRIK SECARA ONLINE
DESAIN SISTEM MONITORING KUALITAS DAYA LISTRIK SECARA ONLINE
Abstract
Electrical power delivered by the utility to the consumer have a good quality when the value of the voltage and frequency in accordance with applicable regula...
Pengaruh Kadar Air dan Kadar Abu terhadap Nilai Kalori Batubara Berdasarkan Analisis Rergesi Linier Berganda
Pengaruh Kadar Air dan Kadar Abu terhadap Nilai Kalori Batubara Berdasarkan Analisis Rergesi Linier Berganda
Abstract. Coal contains moisture in the air, ash, volatiles, and fixed carbon. Proximate analysis was conducted to determine these contents, and the calorific value of the coal was...
A Study of Innovation Activities in Software Firms in Nigeria
A Study of Innovation Activities in Software Firms in Nigeria
Software firms in Nigeria were in the business of buying and selling software products
about two decades ago but are now developing customized software products. Hence,
this stud...
Software driven approach for Embedded Devices
Software driven approach for Embedded Devices
This paper presents the possible new design paradigm that emerged during the author’s design of an embedded communication device for Croatian Navy. Prior to codesign techniques tha...

