Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- invited-talkJanuary 2025
The Ethical Compiler: Addressing the Is-Ought Gap in Compilation (Invited Talk)
PEPM '25: Proceedings of the 2025 ACM SIGPLAN International Workshop on Partial Evaluation and Program ManipulationPages 1–9https://doi.org/10.1145/3704253.3706135The is-ought gap is a problem in moral philosophy observing that ethical judgments ("ought") cannot be grounded purely in truth judgments ("is"): that an ought cannot be derived from an is. This gap renders the following argument invalid: "It is true ...
- ArticleNovember 2024
- research-articleOctober 2024
- ArticleSeptember 2024
MPI-BugBench: A Framework for Assessing MPI Correctness Tools
- Tim Jammer,
- Emmanuelle Saillard,
- Simon Schwitanski,
- Joachim Jenke,
- Radjasouria Vinayagame,
- Alexander Hück,
- Christian Bischof
Recent Advances in the Message Passing InterfacePages 121–137https://doi.org/10.1007/978-3-031-73370-3_8AbstractMPI’s low-level interface is prone to errors, leading to bugs that can remain dormant for years. MPI correctness tools can aid in writing correct code but lack a standardized benchmark for comparison. This makes it difficult for users to choose ...
- ArticleSeptember 2024
SPMD IR: Unifying SPMD and Multi-value IR Showcased for Static Verification of Collectives
Recent Advances in the Message Passing InterfacePages 3–20https://doi.org/10.1007/978-3-031-73370-3_1AbstractTo effectively utilize modern HPC clusters, inter-node communication and related single program, multiple data (SPMD) parallel programming models such as mpi are inevitable. Current tools and compilers that employ analyses of SPMD models often ...
-
- research-articleSeptember 2024
Proving Correctness of Parallel Implementations of Transition System Models
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 46, Issue 3Article No.: 9, Pages 1–50https://doi.org/10.1145/3660630This article addresses the long-standing problem of program correctness for programs that describe systems of parallel executing processes. We propose a new method for proving correctness of parallel implementations of high-level models expressed as ...
- research-articleSeptember 2024
JCWIT: A Correctness-Witness Validator for Java Programs Based on Bounded Model Checking
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1831–1835https://doi.org/10.1145/3650212.3685303Witness validation is a formal verification method to independently verify software verification tool results, with two main categories: violation and correctness witness validators. Validators for violation witnesses in Java include Wit4Java and GWIT, ...
- ArticleSeptember 2024
Towards Specification-Guarded Refactoring
Logic-Based Program Synthesis and TransformationPages 149–165https://doi.org/10.1007/978-3-031-71294-4_9AbstractRefactoring is a common task in writing and maintaining software. Refactoring tools are available for a wide variety of programming languages, and they are intended to transform source code without altering the functional behaviour of the software ...
- research-articleAugust 2024
RMASanitizer: Generalized Runtime Detection of Data Races in Remote Memory Access Applications
- Simon Schwitanski,
- Yussur Mustafa Oraji,
- Cornelius Pätzold,
- Joachim Jenke,
- Felix Tomski,
- Matthias S. Müller
ICPP '24: Proceedings of the 53rd International Conference on Parallel ProcessingPages 833–844https://doi.org/10.1145/3673038.3673109Remote Memory Access (RMA) programming models enable processes running on a distributed-memory computer to access and manipulate the memory of other processes directly. Such one-sided communication has the benefit that the receiving process is not ...
- research-articleDecember 2024
The Faultless Way of Programming
EuroPLoP '24: Proceedings of the 29th European Conference on Pattern Languages of Programs, People, and PracticesArticle No.: 32, Pages 1–7https://doi.org/10.1145/3698322.3698340There is one faultless way of programming. It uses computer intelligence to validate computer code: formal verification. Yet for developers this faultless approach has remained alien, incomprehensible, and many miss out on its proven benefits. This set of ...
- research-articleJune 2024
Modeling NP-problems with families of extended graph-based reaction systems
Natural Computing: an international journal (NATC), Volume 23, Issue 2Pages 309–322https://doi.org/10.1007/s11047-024-09984-3AbstractIn this paper, we continue the investigation of graph-based reaction systems. We extend the notion by input and output states as well as admitted context sequences to model explicitly input–output relations and decision problems on the inputs. ...
- ArticleApril 2024
A Comprehensive Specification and Verification of the L4 Microkernel API
Tools and Algorithms for the Construction and Analysis of SystemsPages 217–234https://doi.org/10.1007/978-3-031-57249-4_11AbstractThe L4 API (Application Programming Interface) is a core component of the operating system, which serves as the interface between user-level processes and the microkernel, facilitating communication and interaction. It is crucial to ensure the ...
- research-articleNovember 2023
Towards Correctness Checking of MPI Partitioned Communication in MUST
SC-W '23: Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and AnalysisPages 224–227https://doi.org/10.1145/3624062.3624089The partitioned point-to-point communication concept introduced with the MPI-4.0 standard can improve the communication efficiency of hybrid parallel execution models. It allows threads on the sender and the receiver side to start working on parts of a ...
- ArticleAugust 2023
Verifying the Correctness of HPC Performance Monitoring Data
AbstractAdministration and maintenance of modern supercomputers requires monitoring not only the correctness of their work, but also the efficiency of their functioning. For these purposes, monitoring systems are used that constantly run on supercomputer ...
- research-articleAugust 2023
Towards correctness proof for hybrid Simulink block diagrams
Journal of Systems Architecture: the EUROMICRO Journal (JOSA), Volume 141, Issue Chttps://doi.org/10.1016/j.sysarc.2023.102922AbstractCyber–physical systems (CPS) are often modelled using Simulink to simulate plant and controller behaviour by block diagrams. However, since the incomplete coverage of simulation, design using Simulink alone is insufficient for ensuring ...
- research-articleJanuary 2023
A formal verification approach for composite smart contracts security using FSM
Journal of King Saud University - Computer and Information Sciences (JKSUCIS), Volume 35, Issue 1Pages 70–86https://doi.org/10.1016/j.jksuci.2022.08.029AbstractMany of today's companies use Smart Contracts to represent and execute their business processes. Smart contracts are self-executed programs running over blockchain. In this context, composite smart contracts are used to represent ...
- ArticleDecember 2022
A Framework of Runtime Monitoring for Correct Execution of Smart Contracts
AbstractSmart contracts have been subjected to several attacks that have exploited various vulnerabilities of languages like Solidity, which has resulted in huge financial losses. The functioning and deployment of smart contracts are somewhat different ...
Generic go to go: dictionary-passing, monomorphisation, and hybrid
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue OOPSLA2Article No.: 168, Pages 1207–1235https://doi.org/10.1145/3563331Go is a popular statically-typed industrial programming language. To aid the type safe reuse of code, the recent Go release (Go 1.18) published early 2022 includes bounded parametric polymorphism via generic types. Go 1.18 implements generic types using ...
- ArticleJanuary 2023
Detecting Scale-Induced Overflow Bugs in Production HPC Codes
High Performance Computing. ISC High Performance 2022 International WorkshopsPages 33–43https://doi.org/10.1007/978-3-031-23220-6_3AbstractScaling bugs – errors that only manifest at large scale simulations, in terms of number of parallel workers or input size – are critical to detect early in the testing of HPC codes. If missed, these bugs can cause applications to either crash at ...
- review-articleMay 2022
A survey and experimental analysis of checkpointing techniques for energy harvesting devices
Journal of Systems Architecture: the EUROMICRO Journal (JOSA), Volume 126, Issue Chttps://doi.org/10.1016/j.sysarc.2022.102464AbstractWith the advent of ultra-low-power embedded processors, energy harvesting devices (EHDs) are becoming exceedingly prevalent. These devices are highly portable, self-sustainable, and once deployed, they can run for an extremely long time. They can ...