English
Related papers

Related papers: Petrification: Software Model Checking for Program…

200 papers

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…

This paper shows that a variety of software model-checking algorithms can be seen as proof-search strategies for a non-standard proof system, known as a cyclic proof system. Our use of the cyclic proof system as a logical foundation of…

Programming Languages · Computer Science 2021-11-11 Takeshi Tsukada , Hiroshi Unno

This work strives to make formal verification of POSIX multithreaded programs easily accessible to general programmers. Sthread operates directly on multithreaded C/C++ programs, without the need for an intermediate formal model. Sthread is…

Programming Languages · Computer Science 2020-02-18 Gene Cooperman , Martin Quinson

In this thesis a comprehensive verification framework is proposed to contend with some important issues in composability verification and a verification process is suggested to verify composability of different kinds of systems models, such…

Software Engineering · Computer Science 2023-01-10 Imran Mahmood

In parametric lock-sharing systems processes can spawn new processes to run in parallel, and can create new locks. The behavior of every process is given by a pushdown automaton. We consider infinite behaviors of such systems under strong…

Logic in Computer Science · Computer Science 2023-07-12 Corto Mascle , Anca Muscholl , Igor Walukiewicz

In embedded control systems, the potential risks of software defects have been increasing because of software complexity which leads to, for example, timing related problems. These defects are rarely found by tests or simulations. To detect…

Logic in Computer Science · Computer Science 2013-01-03 Masahiro Matsubara , Kohei Sakurai , Fumio Narisawa , Masushi Enshoiwa , Yoshio Yamane , Hisamitsu Yamanaka

The coverability problem for Petri nets plays a central role in the verification of concurrent shared-memory programs. However, its high EXPSPACE-complete complexity poses a challenge when encountered in real-world instances. In this paper,…

Logic in Computer Science · Computer Science 2017-03-24 Michael Blondin , Alain Finkel , Christoph Haase , Serge Haddad

Probabilistic model checking is a technique for formal automated reasoning about software or hardware systems that operate in the context of uncertainty or stochasticity. It builds upon ideas and techniques from a diverse range of fields,…

Logic in Computer Science · Computer Science 2023-08-08 David Parker

Model checking is an established technique to formally verify automation systems which are required to be trusted. However, for sufficiently complex systems model checking becomes computationally infeasible. On the other hand, testing,…

Software Engineering · Computer Science 2019-07-30 Igor Buzhinsky , Valeriy Vyatkin

We develop and prove sound a concurrent separation logic for Pthreads-style barriers. Although Pthreads barriers are widely used in systems, and separation logic is widely used for verification, there has not been any effort to combine the…

Logic in Computer Science · Computer Science 2015-07-01 Aquinas Hobor , Cristian Gherghina

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this…

Logic in Computer Science · Computer Science 2024-12-10 Jesper Amilon , Zafer Esen , Dilian Gurov , Christian Lidström , Philipp Rümmer , Marten Voorberg

The additional complexity caused by concurrently communicating processes in distributed systems render the verification of such systems into a very hard problem. Multiparty session types were developed to govern communication and…

Logic in Computer Science · Computer Science 2019-08-20 Kirstin Peters , Christoph Wagner , Uwe Nestmann

In this paper we investigate formal verification problems for Neural Network computations. Of central importance will be various robustness and minimization problems such as: Given symbolic specifications of allowed inputs and outputs in…

Artificial Intelligence · Computer Science 2024-03-21 Adrian Wurm

Execution of concurrent programs implies frequent switching between different thread contexts. This property perplexes analyzing and reasoning about concurrent programs. Trace simplification is a technique that aims at alleviating this…

Software Engineering · Computer Science 2014-05-20 Mohamed A. El-Zawawy , Mohammad N. Alanazi

Checking for Non-Termination (NT) of a given program P, i.e., determining if P has at least one non-terminating run, is an undecidable problem that continues to garner significant research attention. While unintended NT is common in…

Software Engineering · Computer Science 2024-09-23 Ravindra Metta , Hrishikesh Karmarkar , Kumar Madhukar , R Venkatesh , Supratik Chakraborty , Samarjit Chakraborty

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

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialisation-based techniques for…

Logic in Computer Science · Computer Science 2021-08-03 Emanuele De Angelis , Fabio Fioravanti , John P. Gallagher , Manuel V. Hermenegildo , Alberto Pettorossi , Maurizio Proietti

We report on an effort to develop methodologies for formal verification of parts of the Multi-Purpose Daemon (MPD) parallel process management system. MPD is a distributed collection of communicating processes. While the individual…

Logic in Computer Science · Computer Science 2007-05-23 Olga Shumsky Matlin , William McCune , Ewing Lusk

During the last decade, various approaches have been put forward to integrate business processes with different types of data. Each of such approaches reflects specific demands in the whole process-data integration spectrum. One particular…

Artificial Intelligence · Computer Science 2020-06-12 Silvio Ghilardi , Alessandro Gianola , Marco Montali , Andrey Rivkin