English
Related papers

Related papers: Program Dependence Net and On-demand Slicing for P…

200 papers

A compositional Petri net-based semantics is given to a simple language allowing pointer manipulation and parallelism. The model is then applied to give a notion of validity to the judgements made by concurrent separation logic that…

Logic in Computer Science · Computer Science 2015-07-01 Jonathan Hayman , Glynn Winskel

Petri Net is a formalism to describe changes between 2 or more states across discrete time and has been used to model many systems. We present PNet - a pure Python library for Petri Net modeling and simulation in Python programming…

Mathematical Software · Computer Science 2023-02-24 Zhu En Chay , Bing Feng Goh , Maurice HT Ling

In this paper, we propose a novel approach that aims to offer an alternative to the prevalent paradigm to dynamic slicing construction. Dynamic slicing requires dynamic data and control dependencies that arise in an execution. During a…

Software Engineering · Computer Science 2022-11-10 Ivan Postolski , Victor Braberman , Diego Garbervetsky , Sebastian Uchitel

Solutions proposed for the longstanding problem of automatic decomposition of Petri nets into concurrent processes, as well as methods developed in Grenoble for the automatic conversion of safe Petri nets to NUPNs (Nested-Unit Petri Nets),…

Logic in Computer Science · Computer Science 2021-01-22 Hubert Garavel

Observational determinism is a security property that characterizes secure information flow for multithreaded programs. Most of the methods that have been used to verify observational determinism are based on either type systems or…

Programming Languages · Computer Science 2016-03-14 Elaheh Ghassabani , Mohammad Abdollahi Azgomi

In this paper we investigate the applicability of standard model checking approaches to verifying properties in probabilistic programming. As the operational model for a standard probabilistic program is a potentially infinite parametric…

Programming Languages · Computer Science 2016-07-28 Nils Jansen , Christian Dehnert , Benjamin Lucien Kaminski , Joost-Pieter Katoen , Lukas Westhofen

Static program slicing is a fundamental software engineering technique for isolating code relevant to specific variables. While recent learning-based approaches using language models (LMs) show promise in automating slice prediction, they…

Software Engineering · Computer Science 2026-05-12 Pengfei He , Shaowei Wang , Tse-Hsun Chen , Muhammad Asaduzzaman

Concurrent programs are difficult to test due to their inherent non-determinism. To address this problem, testing often requires the exploration of thread schedules of a program; this can be time-consuming when applied to real-world…

Software Engineering · Computer Science 2018-04-11 Tingting Yu , Wei Wen , Xue Han , Jane Hayes

Dynamic program slicing can significantly reduce the code developers need to inspect by narrowing it down to only a subset of relevant program statements. However, despite an extensive body of research showing its usefulness, dynamic…

Software Engineering · Computer Science 2022-01-04 Bogdan Alexandru Stoica , Swarup K. Sahoo , James R. Larus , Vikram S. Adve

Program reduction is a technique for simplifying large, failure-inducing programs into minimal reproducible test cases. Language-specific tools such as CReduce achieve strong performance by leveraging deep semantic knowledge of C/C++, but…

Software Engineering · Computer Science 2026-05-20 Qiong Feng , Xiaotian Ma , Yongqiang Tian , Wei Song , Peng Liang

Program verification on concurrent programs is a big challenge due to general undecidable results. Petri nets and its extensions are used in most works. However, existing verifiers based on Petri nets are difficult to be complete and…

Logic in Computer Science · Computer Science 2021-10-26 Ying Zhao , Jinhao Tan , Guoqiang Li

When an evolving program is modified to address issues related to thread synchronization, there is a need to confirm the change is correct, i.e., it does not introduce unexpected behavior. However, manually comparing two programs to…

Software Engineering · Computer Science 2018-07-17 Chungha Sung , Shuvendu Lahiri , Constantin Enea , Chao Wang

Trading systems are software platforms that support the exchange of securities (e.g., company shares) between participants. In this paper, we present a method to search for deviations in trading systems by checking conformance between…

Software Engineering · Computer Science 2022-11-01 Julio C. Carrasquel , Irina A. Lomazova

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

Fully automated verification of concurrent programs is a difficult problem, primarily because of state explosion: the exponential growth of a program state space with the number of its concurrently active components. It is natural to apply…

Logic in Computer Science · Computer Science 2013-09-23 Kedar S. Namjoshi

Automatic parallelization improves the performance of serial program by automatically converting to parallel program. Automatic parallelization typically works in three phases: check for data dependencies in the input program, perform…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-19 Kavya Alluru , Jeganathan. L

Conformance checking techniques aim to provide diagnostics on the conformity between process models and event data. Conventional methods, such as trace alignments, assume strict total ordering of events, leading to inaccuracies when…

Databases · Computer Science 2025-04-08 Ariba Siddiqui , Wil M. P. van der Aalst , Daniel Schuster

Verification of large and complicated concurrent programs is an important issue in the software world. Stateless model checking is an appropriate method for systematically and automatically testing of large programs, which has proved its…

Programming Languages · Computer Science 2016-03-14 Elaheh Ghassabani , Mohammad Abdollahi Azgomi

Reliability in terms of functional properties from the safety-liveness spectrum is an indispensable requirement of low-level operating-system (OS) code. However, with evermore complex and thus less predictable hardware, quantitative and…

Brute-force model-checking consists in exhaustive exploration of the state-space of a Petri net, and meets the dreaded state-space explosion problem. In contrast, this paper shows how to solve model-checking problems using a combination of…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-06-22 Yann Thierry-Mieg