Skip to main content

What Is Software? The Role of Empirical Methods in Answering the Question

  • Chapter
  • First Online:
Perspectives on the Future of Software Engineering

Abstract

This paper explores the potentially pivotal role of Empirical Methods in addressing existential questions about the nature of software. Building upon an earlier paper that asked the question “What is software?”, this paper suggests that a key way to gain such understanding is to ponder the question of how to determine the size of a software entity. The paper notes that there have been a variety of indirect approaches to measuring software size, such as measuring the amount of time taken to produce software, and measuring the number of lines of code in a software entity. But these assume implicitly that such measures correlate positively with the inherent size of the software entity, broadly construed to include the entire panoply of code and non-code artifacts and their interconnections that comprise this entity. As in the original paper, this paper makes the case that entities such as recipes, laws, and processes are types of software, and that learning about their natures illuminates the nature of computer software—and conversely. This paper discusses possible approaches to measuring the size of these other types of artifacts, and uses observations about these approaches to suggest a possible approach to measuring the size of computer software entities. All of this is aimed at making progress in gaining understandings about the nature of software, broadly construed.

Preface: This paper is an updating of a paper previously published in Automated Software Engineering, entitled “What is Software?” [1]. That previous paper, written over 5 years ago, made a case for the importance of understanding the essence of what “software” is, noting that computer software is one of a number of different kinds of intellectual products that can and should be considered to be closely related to each other. The paper noted that laws, processes, and recipes all seem to be closely related in fundamental ways to computer software, and suggested that all might be considered to be subtypes of a type of intellectual product that might be called “software”. That being the case, the earlier paper suggested that studying any of these might well produce results of interest and value to the others, and studying the relations among these types of artifacts might ultimately provide insight into the fundamental nature of the type of thing of which all might be considered to be subtypes.

The main addition that this paper makes to the previous version is to note a potentially key contribution that Empirical Methods could make to these understandings. In the paper we argue that the understanding of an object (physical or non-physical) is greatly enhanced by the ability to measure that object. Indeed, Lord Kelvin suggested, over 100 years ago, that

… when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be.

That being the case, Empirical Methods research should be viewed as being essential to gaining knowledge and establishing the science of the nature of software, in that it addresses issues of how to measure various aspects of software. This paper focuses as a case in point on how to define one particular basic measure of software, namely its size. This would seem to be a basic measure and yet we note that no such satisfactory measure of software size seems to exist. Grappling with this and related questions has been a focus of the Empirical Methods community. The community’s success in understanding how to establish such measures of computer software is clearly important to progress in being more effective in computer software engineering, but might indeed also have important ramifications for improvements in the engineering of other kinds of software, such as processes and laws, as well. For that reason the ongoing efforts of the Empirical Methods research community should be viewed by the entire “software” community as being of fundamental importance.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Osterweil, L.J.: What is software? Automat. Softw. Eng. 15(3–4), 261–273 (2008)

    Article  Google Scholar 

  2. Naur, P., Randell, B. (eds.) Software engineering, report on a conference sponsored by the NATO SCIENCE COMMITTEE, Garmisch, 7–11 Oct 1968. Scientific Affairs Division NATO, Brussels. Also available at http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF (1968)

  3. Parnas, D.L.: Software engineering: an unconsummated marriage. Commun. ACM 40(9), 128 (1997)

    Article  Google Scholar 

  4. Osterweil, L.J.: Software processes are software too. In: ACM SIGSOFT/IEEE 9th International Conference on Software Engineering (ICSE 1987), pp. 2–13. Monterey (1987)

    Google Scholar 

  5. Clarke, L.A., Avrunin, G.S., Osterweil, L.J.: Using software engineering technology to improve the quality of medical processes. In: ACM SIGSOFT/IEEE 30th International Conference on Software Engineering (ICSE’08), pp. 889–898. Leipzig (2008)

    Google Scholar 

  6. Osterweil, L.J.: Software processes are software too, revisited. In: ACM SIGSOFT/IEEE 19th International Conference on Software Engineering (ICSE 1997), pp. 540–548. Boston (1997)

    Google Scholar 

  7. Simidchieva, B.L., Marzilli, M.S., Clarke, L.A., Osterweil, L.J.: Specifying and verifying requirements for election processes. In: Chun, S.A., Janssen, M., Gil-Garcia, J.R. (eds.) In: DG.O 2008: Proceedings of the 9th Annual International Conference on Digital Government Research, pp. 63–72. Digital Government Society of North America, Montreal (2008)

    Google Scholar 

  8. Breaux, T.D., Anton, A.I.: Analyzing regulatory rules for privacy and security requirements. IEEE Trans. Softw. Eng. 34(1), 5–20 (2008)

    Article  Google Scholar 

  9. Sergot, M., Sadri, F., Kowalski, R., Kriwaczek, F., Hammond, P., Cory, T.: The British Nationality Act as a logic program. Commun. ACM 29(5), 370–386 (1986)

    Article  Google Scholar 

  10. Georgakopoulos, D., Hornick, M.F., Sheth, A.P.: An overview of workflow management: from process modeling to workflow automation infrastructure. Distrib. Parallel Databases 3(2), 119–153 (1995)

    Article  Google Scholar 

  11. Chen, B., Clarke, L.A., Avrunin, G.S., Osterweil, L.J., Henneman, E.A., Henneman, P.L.: Analyzing medical processes. In: ACM SIGSOFT/IEEE 30th International Conference on Software Engineering (ICSE’08), pp. 623–632, Leipzig (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Leon J. Osterweil .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Osterweil, L.J. (2013). What Is Software? The Role of Empirical Methods in Answering the Question. 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_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37395-4_16

  • 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)

Publish with us

Policies and ethics