English
Related papers

Related papers: Parallel Program Analysis on Path Ranges

200 papers

This article introduces a fully automated verification technique that permits to analyze real-time systems described using a continuous notion of time and a mixture of operational (i.e., automata-based) and descriptive (i.e., logic-based)…

Logic in Computer Science · Computer Science 2013-08-14 Carlo A. Furia , Matteo Pradella , Matteo Rossi

In this work we present a dynamic analysis tool for analyzing regions of code and how those regions depend between each other via data dependencies encountered during the execution of the program. We also present an abstract method to…

Software Engineering · Computer Science 2022-08-08 Fabian Mora Cordero

Offline runtime verification involves the static analysis of executions of a system against a specification. For distributed systems, it is generally not possible to characterize executions in the form of global traces, given the absence of…

Software Engineering · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Arnault Lapitre , Pascale Le Gall

Automatically generating formal specifications including loop invariants, preconditions, and postconditions for legacy code is critical for program understanding, reuse and verification. However, the inherent complexity of control and data…

Software Engineering · Computer Science 2026-01-21 Fanpeng Yang , Xu Ma , Shuling Wang , Xiong Xu , Qinxiang Cao , Naijun Zhan , Xiaofeng Li , Bin Gu

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…

We consider the problem of selecting the best variable-value strategy for solving a given problem in constraint programming. We show that the recent Embarrassingly Parallel Search method (EPS) can be used for this purpose. EPS proposes to…

Artificial Intelligence · Computer Science 2016-04-25 Anthony Palmieri , Jean-Charles Régin , Pierre Schaus

Malware analysis techniques are divided into static and dynamic analysis. Both techniques can be bypassed by circumvention techniques such as obfuscation. In a series of works, the authors have promoted the use of symbolic executions…

Cryptography and Security · Computer Science 2022-04-13 Charles-Henry Bertrand Van Ouytsel , Axel Legay

In this work, we propose an automated method to identify semantic bugs in student programs, called ATAS, which builds upon the recent advances in both symbolic execution and active learning. Symbolic execution is a program analysis…

Software Engineering · Computer Science 2018-04-17 Ishan Rastogi , Aditya Kanade , Shirish Shevade

Polymorphism in programming languages enables code reuse. Here, we show that polymorphism has broad applicability far beyond computations for technical computing: parallelism in distributed computing, presentation of visualizations of…

Programming Languages · Computer Science 2014-11-07 Jiahao Chen , Alan Edelman

Deterministic execution offers many benefits for debugging, fault tolerance, and security. Running parallel programs deterministically is usually difficult and costly, however - especially if we desire system-enforced determinism, ensuring…

Operating Systems · Computer Science 2010-05-20 Amittai Aviram , Shu-Chun Weng , Sen Hu , Bryan Ford

Many techniques in program synthesis, superoptimization, and array programming require parallel rollouts of general-purpose programs. GPUs, while capable targets for domain-specific parallelism, are traditionally underutilized by such…

Programming Languages · Computer Science 2026-04-15 Breandan Considine

Symbolic execution is a powerful technique for program analysis. However, it has many limitations in practical applicability: the path explosion problem encumbers scalability, the need for language-specific implementation, the inability to…

Programming Languages · Computer Science 2018-07-03 Shiqi Shen , Soundarya Ramesh , Shweta Shinde , Abhik Roychoudhury , Prateek Saxena

Symbolic execution is a powerful program analysis technique that can formally reason the correctness of program behaviors and detect software bugs. It can systematically explore the execution paths of the tested program. But it suffers from…

Cryptography and Security · Computer Science 2025-05-07 Shuangjie Yao , Dongdong She

Conventional tools for formal hardware/software co-verification use bounded model checking techniques to construct a single monolithic propositional formula. Formulas generated in this way are extremely complex and contain a great deal of…

Formal Languages and Automata Theory · Computer Science 2020-01-07 Rajdeep Mukherjee , Saurabh Joshi , John O'Leary , Daniel Kroening , Tom Melham

Runtime verification consists in observing and collecting the execution traces of a system and checking them against a specification, with the objective of raising an error when a trace does not satisfy the specification. We consider…

Logic in Computer Science · Computer Science 2025-11-04 Chana Weil-Kennedy , Darine Rammal , Christophe Gaston , Arnault Lapitre

This paper presents a {theoretical study} of the problem of verifying linearizability at runtime, where one seeks for a concurrent algorithm for verifying that the current execution of a given concurrent shared object implementation is…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-14 Armando Castañeda , Gilde Valeria Rodríguez

In this paper we promote introducing software verification and control flow graph similarity measurement in automated evaluation of students' programs. We present a new grading framework that merges results obtained by combination of these…

Artificial Intelligence · Computer Science 2012-07-02 Milena Vujosevic-Janicic , Mladen Nikolic , Dusan Tosic , Viktor Kuncak

We address the problem of statically checking safety properties (such as assertions or deadlocks) for parameterized phaser programs. Phasers embody a non-trivial and modern synchronization construct used to orchestrate executions of…

Programming Languages · Computer Science 2021-05-13 Zeinab Ganjei , Ahmed Rezine , Ludovic Henrio , Petru Eles , Zebo Peng

Runtime verification is checking whether a system execution satisfies or violates a given correctness property. A procedure that automatically, and typically on the fly, verifies conformance of the system's behavior to the specified…

Software Engineering · Computer Science 2013-03-06 Mikhail Chupilko , Alexander Kamkin

In present study, in order to improve the performance and reduce the amount of power which is dissipated in heterogeneous multicore processors, the ability of detecting the program execution phases is investigated. The programs execution…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-01-14 A. Z. Jooya , M. Analoui