There is a widely extended image of computer software as some sort of ‘black box,’ where it does not matter how it internally works, but rather what sort of results are obtained given certain input values. By approaching computer software this way, many philosophical issues are hidden, neglected, or simply misunderstood. This article discusses three units of analysis of computer software, namely, specifications, algorithms, and computer processes. The aim is to understand the scientific and engineering practices supporting each unit of analysis, as well as to analyze their methodology, ontology, and epistemology.
|Journal||Principia: An International Journal of Epistemology|
|Publication status||Published - 2018|