English
Related papers

Related papers: Handling Scope Checks (Extended Version)

200 papers

The identification and removal of systematic errors in object detectors can be a prerequisite for their deployment in safety-critical applications like automated driving and robotics. Such systematic errors can for instance occur under very…

Computer Vision and Pattern Recognition · Computer Science 2023-09-26 Valentyn Boreiko , Matthias Hein , Jan Hendrik Metzen

Traversal strategies \'a la Stratego (also \'a la Strafunski and 'Scrap Your Boilerplate') provide an exceptionally versatile and uniform means of querying and transforming deeply nested and heterogeneously structured data including terms…

Programming Languages · Computer Science 2012-01-31 Ralf Laemmel , Simon Thompson , Markus Kaiser

Stateless Model Checking (SMC) is a verification technique for concurrent programs that checks for safety violations by exploring all possible thread schedulings. It is highly effective when coupled with Dynamic Partial Order Reduction…

Software Engineering · Computer Science 2022-08-22 Bengt Jonsson , Magnus Lång , Konstantinos Sagonas

We explore asynchronous programming with algebraic effects. We complement their conventional synchronous treatment by showing how to naturally also accommodate asynchrony within them, namely, by decoupling the execution of operation calls…

Programming Languages · Computer Science 2024-09-25 Danel Ahman , Matija Pretnar

Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging.…

Programming Languages · Computer Science 2021-07-13 Joseph Eremondi , Ronald Garcia , Éric Tanter

When learning stable linear dynamical systems from data, three important properties are desirable: i) predictive accuracy, ii) verifiable stability, and iii) computational efficiency. Unconstrained minimization of prediction errors leads to…

Robotics · Computer Science 2026-02-17 Hanyao Guo , Yunhai Han , Harish Ravichandar

We introduce a new dynamic analysis technique to discover invariants in separation logic for heap-manipulating programs. First, we use a debugger to obtain rich program execution traces at locations of interest on sample inputs. These…

Programming Languages · Computer Science 2019-07-02 Ton Chanh Le , Guolong Zheng , ThanhVu Nguyen

Static verification relying on an automated theorem prover can be very slow and brittle: since static verification is undecidable, correct code may not pass a particular static verifier. In this work we use metaprogramming to generate code…

Programming Languages · Computer Science 2019-08-21 Isaac Oscar Gariano , Marco Servetto , Alex Potanin , Hrshikesh Arora

Nonlinear, adaptive, or otherwise complex control techniques are increasingly relied upon to ensure the safety of systems operating in uncertain environments. However, the nonlinearity of the resulting closed-loop system complicates…

Systems and Control · Computer Science 2018-01-17 John F. Quindlen , Ufuk Topcu , Girish Chowdhary , Jonathan P. How

Fault-tolerant distributed algorithms are central for building reliable spatially distributed systems. Unfortunately, the lack of a canonical precise framework for fault-tolerant algorithms is an obstacle for both verification and…

Formal Languages and Automata Theory · Computer Science 2012-10-16 Annu John , Igor Konnov , Ulrich Schmid , Helmut Veith , Josef Widder

Static code analysis is a powerful approach to detect quality deficiencies such as performance bottlenecks, safety violations or security vulnerabilities already during a software system's implementation. Yet, as current software systems…

Software Engineering · Computer Science 2017-10-23 Eric Bodden

Automated theorem provers are used in extended static checking, where they are the performance bottleneck. Extended static checkers are run typically after incremental changes to the code. We propose to exploit this usage pattern to improve…

Logic in Computer Science · Computer Science 2007-08-07 Radu Grigore , Michał Moskal

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We…

Software Engineering · Computer Science 2017-06-28 Daniel Selsam , Percy Liang , David L. Dill

Gradual typing combines static and dynamic typing in the same language, offering the benefits of both to programmers. Static typing provides error detection and strong guarantees while dynamic typing enables rapid prototyping and flexible…

Programming Languages · Computer Science 2016-10-27 Michael M. Vitousek , Jeremy G. Siek

Type systems designed for information-flow control commonly use a program-counter label to track the sensitivity of the context and rule out data leakage arising from effectful computation in a sensitive context. Currently, type-system…

Programming Languages · Computer Science 2021-01-14 Andrew K. Hirsch , Ethan Cecchetti

Language models (LMs) can generate code but cannot guarantee its correctness$\unicode{x2014}$often producing outputs that violate type safety, program invariants, or other semantic properties. Constrained decoding offers a solution by…

Programming Languages · Computer Science 2025-12-03 Shaan Nagy , Timothy Zhou , Nadia Polikarpova , Loris D'Antoni

Bounded model checking of pointer programs is a debugging technique for programs that manipulate dynamically allocated pointer structures on the heap. It is based on the following four observations. First, error conditions like dereference…

Logic in Computer Science · Computer Science 2016-03-02 Witold Charatonik , Piotr Witkowski

Live sequence charts (LSCs) have been proposed as an inter-object scenario-based specification and visual programming language for reactive systems. In this paper, we introduce a logic-based framework to check the consistency of an LSC…

Logic in Computer Science · Computer Science 2010-02-17 Hai-Feng Guo , Wen Zheng , Mahadevan Subramaniam

The application of reinforcement learning to safety-critical systems is limited by the lack of formal methods for verifying the robustness and safety of learned policies. This paper introduces a novel framework that addresses this gap by…

Artificial Intelligence · Computer Science 2025-08-22 Ahmed Nasir , Abdelhafid Zenati