Scientific rigour, an answer to a pragmatic question: a linguistic framework for software engineering

Discussions of the role of mathematics in software engineering are common and have probably not changed much over the last few decades. There is now much discussion about the "intuitive" nature of software construction and analogies are drawn (falsely) with graphic design, (conventional) architecture, etc. The conclusion is that mathematics is an unnecessary luxury and that, like these other disciplines, it is not needed in everyday practice. We attempt to refute these arguments by recourse to ideas from the philosophy of science developed over the past century. We demonstrate why these ideas are applicable, why they establish a framework (in the sense of Carnap) in which many central ideas in software engineering can be formalised and organised, why they refute the simplistic recourse to "intuition", and why they provide a scientific/engineering framework in which contributions to the theory and practice of software engineering can be judged.

[1]  Walter Guido Vincenti,et al.  What Engineers Know and How They Know It: Analytical Studies from Aeronautical History by Walter G. Vincenti , 1992, Technology and Culture.

[2]  Marie-Claude Gaudel,et al.  Testing Algebraic Data Types and Processes: A Unifying Theory , 1998, Formal Aspects of Computing.

[3]  Michael Jackson,et al.  Formal methods and traditional engineering , 1998, J. Syst. Softw..

[4]  Carl G. Hempel,et al.  Fundamentals of Concept Formation in Empirical Science , 1952 .

[5]  Walter G. Vincenti,et al.  What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. , 1992 .

[6]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[7]  T. S. E. Maibaum,et al.  Mathematical foundations of software engineering: a roadmap , 2000, ICSE '00.

[8]  Jaakko Hintikka,et al.  Towards a Theory of Inductive Generalization , 1970 .

[9]  Władysław Turski,et al.  The specification of computer programs , 1987 .

[10]  Clark Glymour,et al.  Hypothetico-Deductivism Is Hopeless , 1980, Philosophy of Science.

[11]  José Luiz Fiadeiro,et al.  Interconnecting Objects Via Contracts , 1999, UML.

[12]  Victoria Cengarle A formal approach to specification-based black-box testing Marı́a , 2000 .

[13]  H. Feigl,et al.  Minnesota studies in the philosophy of science , 1956 .

[14]  R. Carnap,et al.  On Inductive Logic , 1945, Philosophy of Science.

[15]  R. Carnap,et al.  INTERNATIONAL ENCYCLOPEDIA OF UNIFIED SCIENCE. , 1939, Science.

[16]  Michel Bidoit,et al.  Observational Logic , 1998, AMAST.

[17]  C. A. R. Hoare,et al.  How Did Software Get So Reliable Without Proof? , 1996, FME.

[18]  Ernest Nagel,et al.  The Structure of Science , 1962 .

[19]  Armando Martin Haeberer,et al.  Towards an epistemology-based methodology for verification and validation testing , 2000 .

[20]  Gary James Jason,et al.  The Logic of Scientific Discovery , 1988 .

[21]  K. Popper,et al.  The Logic of Scientific Discovery , 1960 .

[22]  Bryan G. Norton Linguistic Frameworks and Ontology: A Re-Examination of Carnap's Metaphilosophy , 1977 .

[23]  Wladyslaw M. Turski Essay on Software Engineering at the Turn of Century , 2000, FASE.

[24]  T. S. E. Maibaum,et al.  The very idea of software development environments: a conceptual architecture for the arts' environment paradigm , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[25]  Jon Dorling,et al.  THE STRUCTURE OF SCIENTIFIC INFERENCE* , 1975, The British Journal for the Philosophy of Science.