TY - JOUR
T1 - Analyzing software science data with partial repeatability
AU - Cai, Kai Yuan
AU - Chen, Lei
PY - 2002/9/15
Y1 - 2002/9/15
N2 - Halstead's software science postulates that there exist physics-like laws that obey each piece of software. In this paper we reexamine this postulate by using two datasets collected from real programs, and argue that software science data are featured with partial repeatability. Conventional sciences embody the nature of full repeatability in the sense that they can either be proved repeatably in mathematics or be validated to a high accuracy repeatably in physics (experimentally). By partial repeatability we mean that complex phenomena may demonstrate an invariant property that neither can be proved in mathematics nor validated to a high accuracy in physics, but still (partially) governs the behavior of the phenomena. We propose a new kind of mathematical model, namely, parepeatic model, to characterize partial repeatability quantitatively. A parepeatic model defines the relationship between a central function and a fluctuation zone and identifies the degree of correctness of the relationship without making any statistical assumption. We develop parepeatic models for the relationships among several program complexity measures including the number of distinct operators, the number of distinct operands and the program length, among others, and present some new findings about the relationships. Illustrative case study shows that the developed parepeatic models can really help software engineering practice.
AB - Halstead's software science postulates that there exist physics-like laws that obey each piece of software. In this paper we reexamine this postulate by using two datasets collected from real programs, and argue that software science data are featured with partial repeatability. Conventional sciences embody the nature of full repeatability in the sense that they can either be proved repeatably in mathematics or be validated to a high accuracy repeatably in physics (experimentally). By partial repeatability we mean that complex phenomena may demonstrate an invariant property that neither can be proved in mathematics nor validated to a high accuracy in physics, but still (partially) governs the behavior of the phenomena. We propose a new kind of mathematical model, namely, parepeatic model, to characterize partial repeatability quantitatively. A parepeatic model defines the relationship between a central function and a fluctuation zone and identifies the degree of correctness of the relationship without making any statistical assumption. We develop parepeatic models for the relationships among several program complexity measures including the number of distinct operators, the number of distinct operands and the program length, among others, and present some new findings about the relationships. Illustrative case study shows that the developed parepeatic models can really help software engineering practice.
KW - Full repeatability
KW - Genetic algorithm
KW - Halstead's software science
KW - Parepeatic model
KW - Partial repeatability
KW - Software complexity
KW - Software measurement
KW - Type III laws
UR - https://www.scopus.com/pages/publications/0037106676
U2 - 10.1016/S0164-1212(02)00013-4
DO - 10.1016/S0164-1212(02)00013-4
M3 - 文章
AN - SCOPUS:0037106676
SN - 0164-1212
VL - 63
SP - 173
EP - 186
JO - Journal of Systems and Software
JF - Journal of Systems and Software
IS - 3
ER -