Abstract
Traditional engineering disciplines such as mechanical and electrical engineering are guided by physical laws. They provide the constraints for acceptable engineering solutions by enforcing regularity and thereby limiting complexity. Violations of physical laws can be experienced instantly in the lab. Software engineering is not constrained by physical laws. Consequently, we often create software artifacts that are too complex to be understood, tested, or maintained. As overly complex software solutions may even work initially, we are tempted to believe that no laws apply. We only learn about the violation of some form of “cognitive laws” late during development or during maintenance, when overly high complexity inflicts follow-up defects or increases maintenance costs. Innovative life cycle process models (e.g., the Spiral model) provide the basis for incremental risk evaluation and adjustment of such predictions. The proposal in this paper is to work towards a scientific basis for software engineering by capturing more such time-lagging dependencies among software artifacts in the form of empirical models and thereby making developers aware of so-called “cognitive laws” that must be adhered to. This paper attempts to answer the questions of why we need software engineering laws and what they might look like, how we have to organize our discipline in order to establish software engineering laws, which such laws already exist and how we could develop further laws, how such laws could contribute to the maturing of the science and engineering of software in the future, and what challenges remain for teaching, research, and practice in the future.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Boehm, B.W.: Software Engineering Economics. Prentice-Hall, Englewood Cliffs (1981)
Boehm, B.W.: A spiral model of software development and enhancement. IEEE Comput. 21(5), 61–72 (1988)
Basili, V.R., Briand, L.C., Welo, W.L.: A validation of object-oriented design metrics as quality indicators. IEEE Trans. Softw. Eng. 22(10), 751–761 (1996)
Rombach, H.D.: A controlled experiment on the impact of software structure on maintainability. IEEE Trans. Softw. Eng. 13(3), 344–354 (1987)
Basili, V.R., Selby, R.W.: Comparing the effectiveness of software testing strategies. IEEE Trans. Softw. Eng. 13(12), 1278–1296 (1987)
Travassos, G.H., Shull, F., Fredericks, M., Basili, V.R.: Detecting defects in object-oriented designs: using reading techniques to increase software quality. In: Proceedings of the Conference on Object-Oriented Programming, Languages, and Applications (OOPSLA), Denver (1999)
Selby, R.W., Basili, V.R., Baker, F.T.: Cleanroom software development: an empirical investigation. IEEE Trans. Softw. Eng. 13(9), 1027–1037 (1987)
Endres, A., Rombach, H.D.: A Handbook for Software and Systems Engineering. Pearson, Harlow (2003)
Basili, V.R., Selby, R.W., Hutchins, D.H.: Experimentation in software engineering. IEEE Trans. Softw. Eng. 12(7), 733–743 (1986)
Basili, V.R., Caldiera, G., Rombach, H.D.: Goal question metric paradigm. In: Marciniak, J.J. (ed.) Encyclopedia of Software Engineering, pp. 469–476. Wiley, New York (1994)
Basili, V.R., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Soerumgard, S., Zelkowitz, M.V.: The empirical investigation of perspective-based reading. Empirical Softw. Eng. 1(2), 133–164 (1996)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12), 1053–1058 (1972)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object- Oriented Software. Addison-Wesley, Reading (1995)
Lott, C.M., Rombach, H.D.: Repeatable software engineering experiments for comparing defect- detection techniques. Empirical Softw. Eng. 1(3), 241–277 (1996)
Humphrey, W.S.: Using a defined and measured personal software process. IEEE Softw. 13(3), 77–88 (1996)
Rombach, H.D.: Empirical software engineering models: can they become the equivalent of physical laws in traditional engineering? Int. J. Softw. Inform. 5(3), 525–534 (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Rombach, D. (2013). Empirical Software Engineering Models: Can They Become the Equivalent of Physical Laws in Traditional Engineering?. In: Münch, J., Schmid, K. (eds) Perspectives on the Future of Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37395-4_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-37395-4_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37394-7
Online ISBN: 978-3-642-37395-4
eBook Packages: Computer ScienceComputer Science (R0)