Philosophy of Computer Science

Workshop organized by

Petros Stefaneas
(National Technical University of Athens, Greece)


Nicola Angius
(University of Sassari, Italy)


The Philosophy of Computer Science is concerned with epistemological, methodological, and ontological analyses of methods and techniques of inquiry involved in computer science as a discipline. The philosophy of computer science should be carefully distinguished from traditional philosophy of computing, dealing with ontological and epistemological issues arisen with the discovery of computable functions.

The philosophy of computer science focuses on methods, developed in computer science and software engineering, in the design, specification, programming, verification, implementation, and testing of computational physical machines.

As such, the philosophy of computer science is not to be conceived as a branch of philosophy of mathematics and philosophy of logics but rather as an independent, separate, discipline sharing interests with the philosophy of mathematics, the philosophy of empirical sciences, and the philosophy of technology.

Contemporary philosophy of science is divided into as many fields, including the philosophy of biology, the philosophy of economics, the philosophy of psychology, etc.., as the types of systems about which a branch of science is devoted to their investigation. The philosophy of computer science is involved in methodological problems arising within the investigation of software systems.

Many of those problems characterize inquiries upon several natural systems, as being coessential with any scientific activity; others are typical of software systems as being human-made systems. In the following, some of them, which are under the interest of the present workshop, are concisely put forward.








Keynote Speaker

Computer University

Call for papers

We encourage submitting papers possibly addressing one of more of the following questions:

- Among the aims of scientific investigations on natural systems is achieving to some theory systematizing and justifying the attained knowledge on the studied system. Can theories of software systems be defined? Are they mathematical or empirical theories? Which role is played by computational models in the discovery of those theories?

- Common scientific theories enable one to define law-like statements expressing regular behaviours of the studied systems. Is it feasible to isolate law-like statements concerning executions of studied computational systems? Under which condition are they supposed to hold? How are those regularities justified, that is, falsified and corroborated? Is probability involved in the confirmation of software law-like statements?

- Abstractions and idealizations are widely used in science to simplify and modify theoretical constructs in order to be able of deriving, from the abstracted and idealized theories, desired consequences, theorems, or laws. Abstraction is, on the other hand, a key concept in the design, specification and verification of programs. How are abstraction techniques developed in computer science related to the problems of abstracting and idealizing mathematical or empirical theories and models in science?

- Models, theories, and empirical regularities are sources of scientific explanations of empirical phenomena. Is explanation a significant philosophical issue in computer science? What are good explanations of software systems' executions? How are causal process arising at the physical implementing level of a computing system involved in the explanation of observed executions, especially malfunctions, of such system?

- In the light of the potential answers to the previous questions, what is the epistemological status of computer science? Should it be conceived as an applied mathematical discipline, a scientific discipline, or a technological discipline? What is the relation, from an epistemological and methodological viewpoint, between computer science and software engineering?

- Beside typical methodological issues, other philosophical topics characterize the philosophy of computer science and concern the ontology of programs and the ontology of computational processes. What are programs? What are software specifications? What is the relation, from on ontological point of view, between software and hardware? What are the computing process prescribed by programs and specifications? Are they the continuum physical processes, or the discrete procedures described by computational models?

Submissions of extended abstracts (up to 1.000 words) should be sent by November 15th, 2014 to or

Notification of acceptance: December 1st 2014.