Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs

It is well accepted that designing and analyzing concurrent software-components are tedious tasks. Assuring the quality of such software requires formal methods, which can statically detect deadlocks. This paper presents a symbolic data flow analysis framework for detecting deadlocks in Ada programs with tasks. The symbolic data flow framework is based on symbolic evaluation – an advanced technique to statically determine properties of programs.

[1]  Mary Lou Soffa,et al.  Concurrency analysis in the presence of procedures using a data-flow framework , 1991, TAV4.

[2]  Stephen P. Masticola,et al.  Static detection of deadlocks in polynomial time , 1993 .

[3]  Thomas E. Cheatham,et al.  Symbolic Evaluation and the Analysis of Programs , 1979, IEEE Transactions on Software Engineering.

[4]  Richard N. Taylor,et al.  Combining Static Concurrency Analysis with Symbolic Execution , 1988, IEEE Trans. Software Eng..

[5]  Barbara G. Ryder,et al.  Static Infinite Wait Anomaly Detection in Polynomial Time , 1990, ICPP.

[6]  Jean-François Pradat-Peyre,et al.  Automatic Verification of Concurrent Ada Programs , 1999, Ada-Europe.

[7]  Thomas Fahringer,et al.  Symbolic evaluation for parallelizing compilers , 1997, ICS '97.

[8]  Richard N. Taylor,et al.  A general-purpose algorithm for analyzing concurrent programs , 1983, CACM.

[9]  Johann Blieberger,et al.  Symbolic Reaching Definitions Analysis of Ada Programs , 1998, Ada-Europe.

[10]  BliebergerJohann Data-Flow Frameworks for Worst-Case Execution Time Analysis , 2002 .

[11]  James Hook,et al.  Static Single Assignment Form for Explicitly Parallel Programs: Theory and Practice , 1994 .

[12]  K DillonLaura Using symbolic execution for verification of Ada tasking programs , 1990 .

[13]  Barbara G. Ryder,et al.  Elimination algorithms for data flow analysis , 1986, CSUR.

[14]  James C. Corbett,et al.  Evaluating Deadlock Detection Methods for Concurrent Software , 1996, IEEE Trans. Software Eng..

[15]  James Hook,et al.  Static single assignment for explicitly parallel programs , 1993, POPL '93.

[16]  Sol M. Shatz,et al.  Application and experimental evaluation of state space reduction methods for deadlock analysis in Ada , 1994, TSEM.

[17]  FahringerThomas,et al.  Symbolic Cache Analysis for Real-Time Systems , 2000 .

[18]  Johann Blieberger,et al.  Interprocedural Symbolic Evaluation of Ada Programs with Aliases , 1999, Ada-Europe.

[19]  Lori A. Clarke,et al.  Data flow analysis of concurrent systems that use the rendezvous model of synchronization , 1991, TAV4.