One Stack to Run Them All - Reducing Concurrent Analysis to Sequential Analysis under Priority Scheduling

We present a reduction from a concurrent real-time program with priority preemptive scheduling to a sequential program that has the same set of behaviors. Whereas many static analyses of concurrent programs are undecidable, our reduction enables the application of any sequential program analysis to be applied to a concurrent real-time program with priority preemptive scheduling.

[1]  Dinghao Wu,et al.  KISS: keep it simple and sequential , 2004, PLDI '04.

[2]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[3]  Thomas Ball,et al.  Finding and Reproducing Heisenbugs in Concurrent Programs , 2008, OSDI.

[4]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[5]  Willem Visser,et al.  Model Checking Real Time Java Using Java PathFinder , 2005, ATVA.

[6]  Vineet Kahlon,et al.  Reasoning About Threads Communicating via Locks , 2005, CAV.

[7]  Sriram K. Rajamani,et al.  Bebop: a path-sensitive interprocedural dataflow engine , 2001, PASTE '01.

[8]  Vineet Kahlon,et al.  On the analysis of interacting pushdown systems , 2007, POPL '07.

[9]  Thomas W. Reps,et al.  Reducing Concurrent Analysis Under a Context Bound to Sequential Analysis , 2008, CAV.

[10]  Thomas W. Reps,et al.  Language Strength Reduction , 2008, SAS.

[11]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

[12]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[13]  Dawson R. Engler,et al.  EXE: automatically generating inputs of death , 2006, CCS '06.

[14]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[15]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[16]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[17]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[18]  Rupak Majumdar,et al.  Interprocedural analysis of asynchronous programs , 2007, POPL '07.

[19]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[20]  Duminda Wijesekera,et al.  Status-Based Access Control , 2008, TSEC.

[21]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[22]  Igor Walukiewicz Model Checking CTL Properties of Pushdown Systems , 2000, FSTTCS.

[23]  Antoni Mazurkiewicz,et al.  CONCUR '97: Concurrency Theory , 1997, Lecture Notes in Computer Science.

[24]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

[25]  Stefan Schwoon,et al.  Model checking pushdown systems , 2002 .

[26]  Tayssir Touili,et al.  Analyzing Asynchronous Programs with Preemption , 2008, FSTTCS.

[27]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[28]  Pierre Wolper,et al.  A direct symbolic approach to model checking pushdown systems , 1997, INFINITY.