Software Pattern Laws and Partial Repeatability

Physical or statistical laws embody the nature of full repeatability. However patterns exist in various fields, and are featured with the nature of partial repeatability. A given concept and the collection of its various corresponding observations in reality form a pattern. Pattern laws are patterns of patterns, and software pattern laws are just pattern laws in software engineering. In this paper we present a general discussion on patterns and (software) patterns laws in comparison with physical or statistical laws, and treat laws of software products, or Halstead’s software science, and laws of software processes, or Lehman’s laws of software evolution, as example software pattern laws. The nature of partial repeatability of software benefits to as well as sets limits to software reliability improvements and validation.

[1]  Martin L. Shooman,et al.  Software Engineering: Design, Reliability, and Management , 1983 .

[2]  Bev Littlewood,et al.  Validation of ultrahigh dependability for software-based systems , 1993, CACM.

[3]  Meir M. Lehman Programs, life cycles, and laws of software evolution , 1980 .

[4]  Nazim H. Madhavji,et al.  The process cycle [software engineering] , 1991, Softw. Eng. J..

[5]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

[6]  Sallie Keller-McNulty,et al.  Stochastic models for software science , 1991, J. Syst. Softw..

[7]  Steven F. Savitt Time's Arrows Today: Cosmology and time's arrow , 1995 .

[8]  Robert Dunn,et al.  Software Defect Removal , 1984 .

[9]  Kai-Yuan Cai,et al.  On estimating the number of defects remaining in software , 1998, J. Syst. Softw..

[10]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[11]  Charles F. Stevens,et al.  The Six Core Theories of Modern Physics , 1995 .

[12]  Wladyslaw M. Turski Reference Model for Smooth Growth of Software Systems(003)5402022 , 1996, IEEE Transactions on Software Engineering.

[13]  D. Bailin,et al.  Supersymmetric gauge field theory and string theory , 1994 .

[14]  G. B. Finelli,et al.  The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software , 1993, IEEE Trans. Software Eng..

[15]  Dino Mandrioli,et al.  Formal Methods for Real-Time Computing , 1996 .

[16]  Norm Brown,et al.  Industrial-Strength Management Strategies , 1996, IEEE Softw..

[17]  Rene Chevray,et al.  Topics in fluid mechanics , 1993 .

[18]  Jürgen Schürmann,et al.  Pattern classification , 2008 .

[19]  Kai-Yuan Cai,et al.  Software Defect and Operational Profile Modeling , 1998, The Kluwer International Series in Software Engineering.

[20]  Leonard J. Bass,et al.  Dynamic Software Science with Applications , 1979, IEEE Transactions on Software Engineering.

[21]  David Lorge Parnas,et al.  Evaluation of safety-critical software , 1990, CACM.

[22]  Leonardo Felician,et al.  Validating Halstead's Theory for Pascal Programs , 1989, IEEE Trans. Software Eng..

[23]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[24]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[25]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[26]  Kai-Yuan Cai,et al.  A critical review on software reliability modeling , 1991 .

[27]  Meir M. Lehman,et al.  Software engineering, the software process and their support , 1991, Softw. Eng. J..

[28]  Kai-Yuan Cai,et al.  Censored software-reliability models , 1997 .