English
Related papers

Related papers: A Formal Model of the Safety-Critical Java Level 2…

200 papers

Education in the practical applications of logic and proving such as the formal specification and verification of computer programs is substantially hampered by the fact that most time and effort that is invested in proving is actually…

Logic in Computer Science · Computer Science 2018-03-06 Wolfgang Schreiner , Alexander Brunhuemer , Christoph Fürst

An autonomous AI ecosystem (SUBSTRATE S3), generating product specifications without explicit instructions about formal methods, independently proposed the use of Z3 SMT solver across six distinct domains of AI safety: verification of…

Software Engineering · Computer Science 2026-03-27 Octavian Untila

Machine learning has made remarkable advancements, but confidently utilising learning-enabled components in safety-critical domains still poses challenges. Among the challenges, it is known that a rigorous, yet practical, way of achieving…

Machine Learning · Computer Science 2024-09-21 Saddek Bensalem , Chih-Hong Cheng , Wei Huang , Xiaowei Huang , Changshun Wu , Xingyu Zhao

Rust is an emerging, strongly-typed programming language focusing on efficiency and memory safety. With increasing projects adopting Rust, knowing how to use Unsafe Rust is crucial for Rust security. We observed that the description of…

Software Engineering · Computer Science 2023-08-10 Mohan Cui , Suran Sun , Hui Xu , Yangfan Zhou

The Java libraries JCA and JSSE offer cryptographic APIs to facilitate secure coding. When developers misuse some of the APIs, their code becomes vulnerable to cyber-attacks. To eliminate such vulnerabilities, people built tools to detect…

Cryptography and Security · Computer Science 2022-05-02 Ying Zhang , Ya Xiao , Md Mahir Asef Kabir , Danfeng , Yao , Na Meng

As software becomes more complex and assumes an even greater role in our lives, formal verification is set to become the gold standard in securing software systems into the future, since it can guarantee the absence of errors and entire…

Human-Computer Interaction · Computer Science 2021-11-17 Carolina Carreira , João F. Ferreira , Alexandra Mendes , Nicolas Christin

Modern software relies on libraries and uses them via application programming interfaces (APIs). Correct API usage as well as many software engineering tasks are enabled when APIs have formal specifications. In this work, we analyze the…

Software Engineering · Computer Science 2019-05-17 John L. Singleton , Gary T. Leavens , Hridesh Rajan , David R. Cok

In many practical application domains, the software is organized into a set of threads, whose activation is exclusive and controlled by a cooperative scheduling policy: threads execute, without any interruption, until they either terminate…

Logic in Computer Science · Computer Science 2015-07-01 Alessandro Cimatti , Iman Narasamdya , Marco Roveri

The current verification flow of complex systems uses different engines synergistically: virtual prototyping, formal verification, simulation, emulation and FPGA prototyping. However, none is able to verify a complete architecture.…

Logic in Computer Science · Computer Science 2018-02-12 Tomas Grimm , Djones Lettnin , Michael Hübner

AI agents that interact with the real world through tool calls pose fundamental safety challenges: agents might leak private information, cause unintended side effects, or be manipulated through prompt injection. To address these…

Artificial Intelligence · Computer Science 2026-05-29 Martin Odersky , Yaoyu Zhao , Yichen Xu , Oliver Bračevac , Cao Nguyen Pham

Over the past decade, machine learning has demonstrated impressive results, often surpassing human capabilities in sensing tasks relevant to autonomous flight. Unlike traditional aerospace software, the parameters of machine learning models…

Machine Learning · Computer Science 2023-10-06 Jean-Guillaume Durand , Arthur Dubois , Robert J. Moss

Typed Clojure is an optional type system for Clojure, a dynamic language in the Lisp family that targets the JVM. Typed Clojure enables Clojure programmers to gain greater confidence in the correctness of their code via static type checking…

Programming Languages · Computer Science 2018-12-11 Ambrose Bonnaire-Sergeant , Rowan Davies , Sam Tobin-Hochstadt

Safety architectures play a crucial role in the safety assurance of automated driving vehicles (ADVs). They can be used as safety envelopes of black-box ADV controllers, and for graceful degradation from one ODD to another. Building on our…

Robotics · Computer Science 2023-08-22 Clovis Eberhart , Jérémy Dubut , James Haydon , Ichiro Hasuo

Folklore is often saying "The Java memory model is broken." Therefore, several approaches have proposed repairs, only to find new programs exhibiting unexpected, unintuitive behavior or the model forbidding standard compiler optimizations.…

Programming Languages · Computer Science 2026-04-20 Lukas Panneke , Heike Wehrheim

OpenACC is a high-level directive-based parallel programming model that can manage the sophistication of heterogeneity in architectures and abstract it from the users. The portability of the model across CPUs and accelerators has gained the…

Software Engineering · Computer Science 2022-08-30 A. M. Jarmusch , A. Liu , C. Munley , D. Horta , V. Ravichandran , J. Denny , S. Chandrasekaran

We introduce SCIO*, a formally secure compilation framework for statically verified partial programs performing input-output (IO). The source language is an F* subset in which a verified program interacts with its IO-performing context via…

Context: Neural Network (NN) algorithms have been successfully adopted in a number of Safety-Critical Cyber-Physical Systems (SCCPSs). Testing and Verification (T&V) of NN-based control software in safety-critical domains are gaining…

Machine Learning · Computer Science 2020-03-23 Jin Zhang , Jingyue Li

This tool demonstration presents a research toolkit for a language model of Java source code. The target audience includes researchers studying problems at the granularity level of subroutines, statements, or variables in Java. In contrast…

Software Engineering · Computer Science 2023-05-16 Chia-Yi Su , Aakash Bansal , Vijayanta Jain , Sepideh Ghanavati , Collin McMillan

The paper studies how code generation by LLMs can be combined with formal verification to produce critical embedded software. The first contribution is a general framework, spec2code, in which LLMs are combined with different types of…

Software Engineering · Computer Science 2024-11-21 Minal Suresh Patil , Gustav Ung , Mattias Nyberg

Software systems are designed according to guidelines and constraints defined by business rules. Some of these constraints define the allowable or required values for data handled by the systems. These data constraints usually originate…

Software Engineering · Computer Science 2021-07-13 Juan Manuel Florez , Laura Moreno , Zenong Zhang , Shiyi Wei , Andrian Marcus