English
Related papers

Related papers: Permission Inference for Array Programs

200 papers

Array-intensive programs are often amenable to parallelization across many cores on a single machine as well as scaling across multiple machines and hence are well explored, especially in the domain of high-performance computing. These…

Programming Languages · Computer Science 2019-05-23 Kunal Banerjee , Chandan Karfa

This paper presents a program logic for reasoning about multithreaded Java-like programs with dynamic thread creation, thread joining and reentrant object monitors. The logic is based on concurrent separation logic. It is the first detailed…

Logic in Computer Science · Computer Science 2015-07-01 Christian Haack , Marieke Huisman , Clément Hurlin , Afshin Amighi

In this dissertation we describe two contributions to the state of the art in reasoning about liveness and safety, respectively. Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first…

Logic in Computer Science · Computer Science 2024-03-15 Tobias Reinhard

We report on intermediate results of -- to the best of our knowledge -- the first study of completeness thresholds for (partially) bounded memory safety proofs. Specifically, we consider heap-manipulating programs that iterate over arrays…

Logic in Computer Science · Computer Science 2023-05-08 Tobias Reinhard , Justus Fasse , Bart Jacobs

The array is a fundamental data structure that provides an efficient way to store and retrieve non-sparse data contiguous in memory. Arrays are important for the performance of many memory-intensive applications due to the design of modern…

Programming Languages · Computer Science 2019-08-06 Beatrice à kerblom , Elias Castegren , Tobias Wrigstad

In mainstream programming languages such as Java, a common way to enable concurrency is to manually introduce explicit concurrency constructs such as multi-threading. In multi-threaded programs, managing synchronization between threads is a…

Software Engineering · Computer Science 2019-08-01 Ayesha Sadiq , Yuan-Fang Li , Li Li , Sea Ling , Ijaz Ahmed

This paper proposes a technique to specify and verify whether a loop can be parallelised. Our approach can be used as an additional step in a parallelising compiler to verify user annotations about loop dependences. Essentially, our…

Software Engineering · Computer Science 2014-06-16 Stefan Blom , Saeed Darabi , Marieke Huisman

Precondition inference is a non-trivial task with several applications in program analysis and verification. We present a novel iterative method for automatically deriving sufficient preconditions for safety and unsafety of programs which…

Logic in Computer Science · Computer Science 2018-11-19 Bishoksan Kafle , Graeme Gange , Peter Schachte , Harald Sondergaard , Peter J. Stuckey

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

In this early technical report on an ongoing project, we present -- to the best of our knowledge -- the first study of completeness thresholds for memory safety proofs. Specifically we consider heap-manipulating programs that iterate over…

Logic in Computer Science · Computer Science 2023-05-04 Tobias Reinhard

While loop restructuring based code optimization for array intensive applications has been successful in the past, it has several problems such as the requirement of checking dependences (legality issues) and transformation of all of the…

Programming Languages · Computer Science 2011-11-09 G. Chen , M. Kandemir , M. Karakoy

Automated software verification of concurrent programs is challenging because of exponentially large state spaces with respect to the number of threads and number of events per thread. Verification techniques such as model checking need to…

Programming Languages · Computer Science 2020-04-15 Patrick Metzler , Habib Saissi , Péter Bokor , Neeraj Suri

In today's embedded applications a significant portion of energy is spent in the memory subsystem. Several approaches have been proposed to minimize this energy, including the use of scratch pad memories, with many based on static analysis…

Programming Languages · Computer Science 2011-11-09 Ilya Issenin , Nikil Dutt

We present a novel verification technique to prove interesting properties of a class of array programs with a symbolic parameter N denoting the size of arrays. The technique relies on constructing two slightly different versions of the same…

Programming Languages · Computer Science 2021-07-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

Most proof systems for concurrent programs assume the underlying memory model to be sequentially consistent (SC), an assumption which does not hold for modern multicore processors. These processors, for performance reasons, implement…

Logic in Computer Science · Computer Science 2013-04-11 Chinmay Narayan , Shibashis Guha , S. Arun-Kumar

We propose a memory-model-aware static program analysis method for accurately analyzing the behavior of concurrent software running on processors with weak consistency models such as x86-TSO, SPARC-PSO, and SPARC-RMO. At the center of our…

Programming Languages · Computer Science 2017-09-29 Markus Kusano , Chao Wang

Cache coherence protocols based on self-invalidation and self-downgrade have recently seen increased popularity due to their simplicity, potential performance efficiency, and low energy consumption. However, such protocols result in memory…

Logic in Computer Science · Computer Science 2023-06-22 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Stefanos Kaxiras , Carl Leonardsson , Alberto Ros , Yunyun Zhu

Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first separation logic for modularly verifying termination of such programs under fair scheduling. Our logic requires the proof author to…

Logic in Computer Science · Computer Science 2021-05-19 Tobias Reinhard , Bart Jacobs

Precondition inference is a non-trivial problem with important applications in program analysis and verification. We present a novel iterative method for automatically deriving preconditions for the safety and unsafety of programs. Each…

Programming Languages · Computer Science 2023-06-22 Bishoksan Kafle , Graeme Gange , Peter J. Stuckey , Peter Schachte , Harald Sondergaard

An increasing number of scientific applications are making use of irregular data access patterns. An important class of such patterns involve subscripted-subscripts, wherein an array value appears in the index expression of another array.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-15 Akshay Bhosale , Rudolf Eigenmann
‹ Prev 1 2 3 10 Next ›