Abstract
On the basis of an earlier contribution to the philosophy of computer science by Amnon Eden, this essay discusses to what extent Eden's `paradigms' of computer science can be transferred or applied to software engineering. This discussion implies an analysis of how software engineering and computer science are related to each other. The essay concludes that software engineering can neither be fully subsumed by computer science, nor vice versa. Consequently, also the philosophies of computer science and software engineering--though related to each other--are not identical branches of a general philosophy of science. This also implies that not all of Eden's earlier arguments can be directly mapped from the domain of computer science into the domain of software science. After the discussion of this main topic, the essay also points to some further problems and open issues for future studies in the philosophy of software science and engineering.
- Amman, P., & Offut, J. (2008). Introduction to software testing. Cambridge: Cambridge University Press. Google ScholarDigital Library
- Broy, M., & Rombach, D. (2002). Software engineering: Wurzeln, stand und perspektiven. In Informatik spektrum (Vol. 16, pp. 438-451). Heidelberg: Springer.Google Scholar
- Cleland, C. E. (2001). Recipes, algorithms, and programs. In Minds and machines (Vol. 11, No. 2, pp. 219-237). Dordrecht/Heidelberg:Kluwer Academic Publ./Springer. Google ScholarDigital Library
- Colburn, T. R. (2000). Philosophy and computer science series: Explorations in philosophy. Armonk, NY: M.E. Sharpe Publ.Google Scholar
- De Marco, T. (1986). Controlling software projects: Management, measurement, and estimates. London: Prentice Hall Publ. Google ScholarDigital Library
- De Marco, T. (2009). Software engineering: An Idea whose time has come and gone? In IEEE Software (Vol. 26, No. 4, pp. 95-96). IEEE Computer Society Press. Google ScholarDigital Library
- Denning, P. J. (2007). Computing is a natural science. In Communications of the ACM (Vol. 50, No. 7, pp. 13-18). ACM Press. Google ScholarDigital Library
- Diemer, A. (Ed.). (1968). System und Klassifikation, including three classical essays by Lambert, J. H. Drei Abhandlungen zum Systembegriff, 1782-1787.Google Scholar
- Eden, A. (2007). Three paradigms of computer science. In Minds and Machines (Vol. 17, No. 2, pp. 135-167). Heidelberg: Springer. Google ScholarDigital Library
- Edmonds, E. (2007). The art of programming or programs as art. In Proceedings of new trends in software methodologies, tools and techniques (pp. 119-125). IOS Press. Google ScholarDigital Library
- Fetzer, J. H. (1988). Program verification: The very Idea. In Communications of the ACM (Vol. 31, No. 9, pp. 1048-1063). ACM Press. Google ScholarDigital Library
- Fetzer, J. H. (1998). Philosophy and computer science: Reflections on the program verification debate. In: T. Bynum & J. H. Moor (Eds.), The digital phoenix: How computers are changing philosophy (pp. 253-273). Basil Blackwell Publ.Google Scholar
- Fetzer, J. H. (1999). The role of models in computer science. In The Monist (Vol. 82, pp. 20-36). Hegeler Institute Publ.Google Scholar
- Floridi, L. (1999). Philosophy and computing: An introduction. London: Routledge Publ. Google ScholarDigital Library
- Gruner, S. (2010). Software engineering between technics and science: Recent discussions about the foundations and the scientificness of a rising discipline. In Zeitschrift für allgemeine Wissenschaftstheorie (Vol. 41, No. 1, pp. 237-260). Heidelberg: Springer.Google Scholar
- Kondoh, H. (2000). What is mathematicalness in software engineering? Towards precision software engineering. In Lecture Notes in Computer Science (Vol. 1783, pp. 163-177). Heidelberg: Springer. Google ScholarDigital Library
- Kroeze, J. H. (2010). Ontology goes Postmodern in ICT. In Proceedings of the SAICSIT'10 Conference, South Africa (pp. 153-159). ACM Press. ISBN 978-1-60558-950-3. Google ScholarDigital Library
- Lakatos, I. (1978). The methodology of scientific research programmes. In Philosophical papers (Vol. 1). Cambridge: Cambridge University Press.Google Scholar
- Landauer, R. (1961). Irreversibility and heat generation in the computing process. IBM Journal of Research and Development, 5(3). Reprinted in IBM Journal of Research and Development, 44(1/2), pp. 261-269, 2000. IBM Press. Google ScholarDigital Library
- Maibaum, T. (2008). Formal methods versus engineering. In Proceedings of the First Iinternational workshop on formal methods in education and training at the ICFEM'08 international conference on formal engineering methods, Japan.Google Scholar
- Masterman, M. (1970). The nature of a paradigm. In: I. Lakatos & A. Musgrave (Eds.), Criticism and the growth of knowledge (Proceedings of the 1965 International Colloquium in the Philosophy of Science ay Bedford College) (Vol. 4, pp. 59-89). Cambridge: Cambridge University Press.Google Scholar
- Northover, M., Kourie, D. G., Boake, A., Gruner, S., Northover, A. (2007). Agile software development: A contemporary philosophical perspective. In Proceedings of the SAICSIT'07 Conference, South Africa (pp. 106-115). ACM Press. ISBN 978-1-59593-775-9. Google ScholarDigital Library
- Northover, M., Kourie, D. G., Boake, A., Gruner, S., Northover, A. (2008). Towards a philosophy of software development: 40 years after the birth of software engineering. In Zeitschrift für allgemeine Wissenschaftstheorie (Vol. 39, No. 1, pp. 85-113). Heidelberg: Springer.Google Scholar
- Olson, E. T. (1997). The ontological basis of strong artificial life. In Artificial Life (Vol. 3, No. 1, pp. 113-126). Cambridge: MIT Press. Google ScholarDigital Library
- Rapp, F. (Ed) (1974). Contributions to a philosophy of technology: Studies in the structure of thinking in the technological sciences. Dordrecht: Reidel Publ.Google Scholar
- Roettgers, K. (1983). Der Ursprung der Prozeidee aus dem Geiste der Chemie. In Archiv für Begriffsgeschichte (Vol. 27, pp. 93-157). Meiner-Verlag.Google Scholar
- Rombach, D., & Seelisch, F. (2008). Formalisms in software engineering: Myths versus empirical facts. In Lecture notes in computer science (Vol. 5082, pp. 13-25). Heidelberg: Springer. Google ScholarDigital Library
- Smith, B. C. (1998). On the origin of objects. Cambridge: MIT Press.Google Scholar
- Snelting, G. (1998). Paul Feyerabend und die Softwaretechnologie. In Informatik Spektrum (Vol. 21, No. 5, pp. 273-276). New York: Springer. English translation: Paul Feyerabend and Software Technology. Software Tools for Technology Transfer, Vol. 2, No. 1, pp. 1-5, 1998. Heidelberg: Springer.Google Scholar
- Tichy, W. (2007). Empirical Methods in Software Engineering Research. In Invited lecture, Proceedings of the 4th IFIP WG 2.4 summer school on software technology and engineering, South Africa. Google ScholarDigital Library
- Zhirnov, V., Cavin, R., Leeming, G., Galatsis, K. (2008). An assessment of integrated digital cellular automata architectures. In Computer (Vol. 41, No. 1, pp. 38-44). IEEE Computer Society Press. Google ScholarDigital Library
Recommendations
Research paradigms in computer science
ICSE '76: Proceedings of the 2nd international conference on Software engineeringThis paper explores the ramifications of four influential definitions of computer science:
1. Computer science is the study of phenomena related to computers, Newell, Perlis and Simon, 1967
2. Computer science is the study of algorithms, Knuth, 1968
3. ...
A Survey of Software Engineering Practice: Tools, Methods, and Results
The results of a survey of software development practice are reported and analyzed. The problems encountered in various phases of the software life cycle are measured and correlated with characteristics of the responding installations. The use and ...
Development of a Software Engineering Ontology for Multisite Software Development
This paper aims to present an ontology model of software engineering to represent its knowledge. The fundamental knowledge relating to software engineering is well described in the textbook entitled Software Engineering by Sommerville that is now in its ...
Comments