Characterizing Software Stability via Change Propagation Simulation

Software stability means the resistance to the amplification of changes in software. It has become one of the most important attributes that affect maintenance cost. To control the maintenance cost, many approaches have been proposed to measure software stability. However, it is still a very difficu...

Full description

Saved in:
Bibliographic Details
Main Authors: Weifeng Pan, Haibo Jiang, Hua Ming, Chunlai Chai, Bi Chen, Hao Li
Format: Article
Language:English
Published: Wiley 2019-01-01
Series:Complexity
Online Access:http://dx.doi.org/10.1155/2019/9414162
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1832550257931583488
author Weifeng Pan
Haibo Jiang
Hua Ming
Chunlai Chai
Bi Chen
Hao Li
author_facet Weifeng Pan
Haibo Jiang
Hua Ming
Chunlai Chai
Bi Chen
Hao Li
author_sort Weifeng Pan
collection DOAJ
description Software stability means the resistance to the amplification of changes in software. It has become one of the most important attributes that affect maintenance cost. To control the maintenance cost, many approaches have been proposed to measure software stability. However, it is still a very difficult task to evaluate the software stability especially when software becomes very large and complex. In this paper, we propose to characterize software stability via change propagation simulation. First, we propose a class coupling network (CCN) to model software structure at the class level. Then, we analyze the change propagation process in the CCN by using a simulation way, and by doing so, we develop a novel metric, SS (software stability), to measure software stability. Our SS metric is validated theoretically using the widely accepted Weyuker’s properties and empirically using a set of open source Java software systems. The theoretical results show that our SS metric satisfies most of Weyuker’s properties with only two exceptions, and the empirical results show that our metric is an effective indicator for software quality improvement and class importance. Empirical results also show that our approach has the ability to be applied to large software systems.
format Article
id doaj-art-1a149bc087f742029af21cb1d523e8af
institution Kabale University
issn 1076-2787
1099-0526
language English
publishDate 2019-01-01
publisher Wiley
record_format Article
series Complexity
spelling doaj-art-1a149bc087f742029af21cb1d523e8af2025-02-03T06:07:13ZengWileyComplexity1076-27871099-05262019-01-01201910.1155/2019/94141629414162Characterizing Software Stability via Change Propagation SimulationWeifeng Pan0Haibo Jiang1Hua Ming2Chunlai Chai3Bi Chen4Hao Li5School of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Engineering and Computer Science, Oakland University, Rochester, MI 48309, USASchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaSchool of Computer Science and Information Engineering, Zhejiang Gongshang University, Hangzhou 310018, ChinaDepartment of Computer Science, Western Michigan University, Kalamazoo, MI 49008, USASoftware stability means the resistance to the amplification of changes in software. It has become one of the most important attributes that affect maintenance cost. To control the maintenance cost, many approaches have been proposed to measure software stability. However, it is still a very difficult task to evaluate the software stability especially when software becomes very large and complex. In this paper, we propose to characterize software stability via change propagation simulation. First, we propose a class coupling network (CCN) to model software structure at the class level. Then, we analyze the change propagation process in the CCN by using a simulation way, and by doing so, we develop a novel metric, SS (software stability), to measure software stability. Our SS metric is validated theoretically using the widely accepted Weyuker’s properties and empirically using a set of open source Java software systems. The theoretical results show that our SS metric satisfies most of Weyuker’s properties with only two exceptions, and the empirical results show that our metric is an effective indicator for software quality improvement and class importance. Empirical results also show that our approach has the ability to be applied to large software systems.http://dx.doi.org/10.1155/2019/9414162
spellingShingle Weifeng Pan
Haibo Jiang
Hua Ming
Chunlai Chai
Bi Chen
Hao Li
Characterizing Software Stability via Change Propagation Simulation
Complexity
title Characterizing Software Stability via Change Propagation Simulation
title_full Characterizing Software Stability via Change Propagation Simulation
title_fullStr Characterizing Software Stability via Change Propagation Simulation
title_full_unstemmed Characterizing Software Stability via Change Propagation Simulation
title_short Characterizing Software Stability via Change Propagation Simulation
title_sort characterizing software stability via change propagation simulation
url http://dx.doi.org/10.1155/2019/9414162
work_keys_str_mv AT weifengpan characterizingsoftwarestabilityviachangepropagationsimulation
AT haibojiang characterizingsoftwarestabilityviachangepropagationsimulation
AT huaming characterizingsoftwarestabilityviachangepropagationsimulation
AT chunlaichai characterizingsoftwarestabilityviachangepropagationsimulation
AT bichen characterizingsoftwarestabilityviachangepropagationsimulation
AT haoli characterizingsoftwarestabilityviachangepropagationsimulation