English
Related papers

Related papers: Verifying C++ Dynamic Binding

200 papers

We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with…

Logic in Computer Science · Computer Science 2021-03-16 Georg Schmid , Viktor Kunčak

Most separation logics hide container-internal pointers for modularity. This makes it difficult to specify container APIs that temporarily expose those pointers to the outside, and to verify programs that use these APIs. We present logical…

Programming Languages · Computer Science 2025-12-08 Yawen Guan , Clément Pit-Claudel

UCLID5 is a tool for the multi-modal formal modeling, verification, and synthesis of systems. It enables one to tackle verification problems for heterogeneous systems such as combinations of hardware and software, or those that have…

The correctness of many algorithms and data structures depends on reachability properties, that is, on the existence of chains of references between objects in the heap. Reasoning about reachability is difficult for two main reasons. First,…

Programming Languages · Computer Science 2019-08-19 Arshavir Ter-Gabrielyan , Alexander J. Summers , Peter Müller

Most automated verifiers for separation logic target the symbolic-heap fragment, disallowing both the magic-wand operator and the application of classical Boolean operators to spatial formulas. This is not surprising, as support for the…

Logic in Computer Science · Computer Science 2021-03-15 Jens Pagel , Florian Zuleger

Gradual verification soundly combines static checking and dynamic checking to provide an incremental approach for software verification. With gradual verification, programs can be partially specified first, and then the full specification…

Programming Languages · Computer Science 2025-12-01 Doruk Alp Mutlu

This paper introduces PolyDiM, an open-source C++ library tailored for the development and implementation of polytopal discretization methods for partial differential equations. The library provides robust and modular tools to support…

Numerical Analysis · Mathematics 2025-05-21 Stefano Berrone , Andrea Borio , Gioana Teora , Fabio Vicini

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

Formal modeling of cyber-physical systems (CPS) is hard, because they pose the double challenge of combined discrete-continuous dynamics and concurrent behavior. Existing formal specification and verification languages for CPS are designed…

Systems and Control · Electrical Eng. & Systems 2019-06-14 Eduard Kamburjan , Stefan Mitsch , Martina Kettenbach , Reiner Hähnle

Object-oriented programming has been considered a most promising method in program development and maintenance. An important feature of object-oriented programs (OOPs) is their reusability which can be achieved through the inheritance of…

Programming Languages · Computer Science 2010-06-15 Santosh Kumar Pani , Priya Arundhati

Ensuring that autonomous space robot control software behaves as it should is crucial, particularly as software failure in space often equates to mission failure and could potentially endanger nearby astronauts and costly equipment. To…

In a recent paper, Belle and Levesque proposed a framework for a type of program called belief programs, a probabilistic extension of GOLOG programs where every action and sensing result could be noisy and every test condition refers to the…

Artificial Intelligence · Computer Science 2022-05-04 Daxin Liu , Gerhard Lakemeyer

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

Programming Languages · Computer Science 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

Static verification provides strong correctness guarantees for code; however, fully specifying programs for static verification is a complex, burdensome process for users. Gradual verification was introduced to make this process easier by…

Programming Languages · Computer Science 2025-07-21 Priyam Gupta

This survey presents an overview of verification techniques for autonomous systems, with a focus on safety-critical autonomous cyber-physical systems (CPS) and subcomponents thereof. Autonomy in CPS is enabling by recent advances in…

Verified compilation of open modules (i.e., modules whose functionality depends on other modules) provides a foundation for end-to-end verification of modular programs ubiquitous in contemporary software. However, despite intensive…

Programming Languages · Computer Science 2023-11-21 Ling Zhang , Yuting Wang , Jinhua Wu , Jérémie Koenig , Zhong Shao

We build a SAT solver implementing the DPLL algorithm in the verification-enabled programming language Dafny. The resulting solver is fully verified (soundness, completeness and termination are computer checked). We benchmark our Dafny…

Logic in Computer Science · Computer Science 2020-07-22 Cezar-Constantin Andrici , Ştefan Ciobâcă

Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level correctness guarantees, but compiler changes may become more labor-intensive to implement, if they must come with proof patches. One appealing…

Programming Languages · Computer Science 2025-03-12 Jason Gross , Andres Erbsen , Jade Philipoom , Rajashree Agrawal , Adam Chlipala

We report on intermediate results of our research on reasoning about liveness properties in addition to deep correctness properties for an imperative, concurrent programming language with a higher-order store. At present, we focus on one…

Logic in Computer Science · Computer Science 2023-01-02 Justus Fasse , Bart Jacobs

In this article the function overloading in object-oriented programming is elaborated and how they are implemented in C++. The language supports a variety of programming styles. Here we are describing the polymorphism and its types in…

Programming Languages · Computer Science 2013-12-02 Dr. Brijender Kahanwal , Dr. T. P. Singh
‹ Prev 1 8 9 10 Next ›