Skip to main navigation Skip to search Skip to main content

Analyzing software science data with partial repeatability

  • Beihang University

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)173-186
Number of pages14
JournalJournal of Systems and Software
Volume63
Issue number3
DOIs
StatePublished - 15 Sep 2002

Keywords

  • Full repeatability
  • Genetic algorithm
  • Halstead's software science
  • Parepeatic model
  • Partial repeatability
  • Software complexity
  • Software measurement
  • Type III laws

Fingerprint

Dive into the research topics of 'Analyzing software science data with partial repeatability'. Together they form a unique fingerprint.

Cite this