Have a personal or library account? Click to login
Can’t Software Malfunction? Cover

Can’t Software Malfunction?

By: Jeroen de HaasORCID and  Wybo HoukesORCID  
Open Access
|Jan 2025

Figures & Tables

met-8-165-g1.png
Figure 1

A graphical representation of the types, tokens, and implementation steps that relate them as defined by FFP. An executable is obtained by compiling and linking a program token, which is constituted by a collection of source files, for a particular machine architecture (a). A software token is a copy of the executable and will always lead to the same external behavior when run on a local machine of the target architecture (b).8

met-8-165-g2.png
Figure 2

How a program is compiled depends not only on the target instruction set architecture. The C++ program shown in (a) calculates the sum of numbers 1 up to 5 inclusive. The version compiled using Apple clang version 15.0.0 (clang-1500.3.9.4) with optimizations enabled is considerably shorter (b) than with optimizations disabled (c).

DOI: https://doi.org/10.5334/met.165 | Journal eISSN: 2515-8279
Language: English
Submitted on: Mar 29, 2024
Accepted on: Nov 22, 2024
Published on: Jan 3, 2025
Published by: Ubiquity Press
In partnership with: Paradigm Publishing Services
Publication frequency: 1 issue per year

© 2025 Jeroen de Haas, Wybo Houkes, published by Ubiquity Press
This work is licensed under the Creative Commons Attribution 4.0 License.