English
Related papers

Related papers: Loop invariants: analysis, classification, and exa…

200 papers

``Vibe coding'' -- the practice of developing software through iteratively conversing with a large language model (LLM) -- has exploded in popularity within the last year. However, developers report key limitations including the…

Software Engineering · Computer Science 2025-11-04 Jacqueline Mitchell , Yasser Shaaban

Modern languages are equipped with static type checking/inference that helps programmers to keep a clean programming style and to reduce errors. However, the ever-growing size of programs and their continuous evolution require building fast…

Programming Languages · Computer Science 2018-11-28 Matteo Busi , Pierpaolo Degano , Letterio Galletta

Current deep learning-based solutions for image analysis tasks are commonly incapable of handling problems to which multiple different plausible solutions exist. In response, posterior-based methods such as conditional Diffusion Models and…

Automated program verification often proceeds by exhibiting inductive invariants entailing the desired properties.For numerical properties, a classical class of invariants is convex polyhedra: solution sets of system of linear…

Programming Languages · Computer Science 2018-05-16 David Monniaux

Recent years have seen growing interest in the retrofitting of type systems onto dynamically-typed programming languages, in order to improve type safety, programmer productivity, or performance. In such cases, type system developers must…

Programming Languages · Computer Science 2016-05-05 Esben Andreasen , Colin S. Gordon , Satish Chandra , Manu Sridharan , Frank Tip , Koushik Sen

In the paper the problem of verification of functional programs (FPs) over strings is considered, where specifications of properties of FPs are defined by other FPs, and a FP S1 meets a specification defined by another FP S2 iff a…

Logic in Computer Science · Computer Science 2016-04-15 Andrew M. Mironov

Runtime verification is an area of formal methods that studies the dynamic analysis of execution traces against formal specifications. Typically, the two main activities in runtime verification efforts are the process of creating monitors…

Design patterns are elegant and well-tested solutions to recurrent software development problems. They are the result of software developers dealing with problems that frequently occur, solving them in the same or a slightly adapted way. A…

Software Engineering · Computer Science 2019-03-25 Hannes Thaller , Lukas Linsbauer , Alexander Egyed

Post-hoc explanations of machine learning models are crucial for people to understand and act on algorithmic predictions. An intriguing class of explanations is through counterfactuals, hypothetical examples that show people how to obtain a…

Machine Learning · Computer Science 2019-12-09 Ramaravind Kommiya Mothilal , Amit Sharma , Chenhao Tan

Learning representations that capture the underlying data generating process is a key problem for data efficient and robust use of neural networks. One key property for robustness which the learned representation should capture and which…

Machine Learning · Computer Science 2022-06-24 Mathieu Chevalley , Charlotte Bunne , Andreas Krause , Stefan Bauer

In-Context Learning (ICL) has emerged as a pivotal capability of auto-regressive large language models, yet it is hindered by a notable sensitivity to the ordering of context examples regardless of their mutual independence. To address this…

Computation and Language · Computer Science 2025-05-09 Lizhe Fang , Yifei Wang , Khashayar Gatmiry , Lei Fang , Yisen Wang

Usually, it is the software manufacturer who employs verification or testing to ensure that the software embedded in a device meets its main objectives. However, these days we are confronted with the situation that economical or…

Logic in Computer Science · Computer Science 2017-02-16 Pedro R. D'Argenio , Gilles Barthe , Sebastian Biewer , Bernd Finkbeiner , Holger Hermanns

Software model checking is a challenging problem, and generating relevant invariants is a key factor in proving the safety properties of a program. Program invariants can be obtained by various approaches, including lightweight procedures…

Software Engineering · Computer Science 2024-10-28 Dirk Beyer , Po-Chun Chien , Nian-Ze Lee

Most software verification tools can be classified into one of a number of established families, each of which has their own focus and strengths. For example, concrete counterexample generation in model checking, invariant inference in…

Logic in Computer Science · Computer Science 2015-06-30 Martin Brain , Saurabh Joshi , Daniel Kroening , Peter Schrammel

Class invariants are both a core concept of object-oriented programming and the source of the two key open OO verification problems: furtive access (from callbacks) and reference leak. Existing approaches force on programmers an…

Software Engineering · Computer Science 2021-05-28 Bertrand Meyer

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and object-oriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent…

Programming Languages · Computer Science 2016-10-24 Hiroshi Unno , Sho Torii

Automatically generating invariants, key to computer-aided analysis of probabilistic and deterministic programs and compiler optimisation, is a challenging open problem. Whilst the problem is in general undecidable, the goal is settled for…

Programming Languages · Computer Science 2022-06-15 Daneshvar Amrollahi , Ezio Bartocci , George Kenison , Laura Kovács , Marcel Moosbrugger , Miroslav Stankovič

This paper summarises the results obtained by the author and his collaborators in a program logic approach to the verification of quantum programs, including quantum Hoare logic, invariant generation and termination analysis for quantum…

Quantum Physics · Physics 2018-08-01 Mingsheng Ying

Formal verification of variant requirements has gained much interest in the software product line (SPL) community. Feature diagrams are widely used to model product line variants. However, there is a lack of precisely defined formal…

Software Engineering · Computer Science 2014-02-25 Shamim Ripon , Sk. Jahir Hossain , Keya Azad , Mehidee Hassan

We consider concurrent systems consisting of a finite but unknown number of components, that are replicated instances of a given set of finite state automata. The components communicate by executing interactions which are simultaneous…

Formal Languages and Automata Theory · Computer Science 2019-02-08 Marius Bozga , Radu Iosif , Joseph Sifakis