Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Automated Analysis of Concurrent Systems with the Constrained Expression Toolset

Published: 01 November 1991 Publication History

Abstract

The constrained expression approach to analysis of concurrent software systems can be used with a variety of design and programming languages and does not require a complete enumeration of the set of reachable states of the concurrent system. The construction of a toolset automating the main constrained expression analysis techniques and the results of experiments with that toolset are reported. The toolset is capable of carrying out completely automated analyses of a variety of concurrent systems, starting from source code in an Ada-like design language and producing system traces displaying the properties represented bv the analysts queries. The strengths and weaknesses of the toolset and the approach are assessed on both theoretical and empirical grounds.

References

[1]
{1} G. M. Karam and R. J. Buhr, "Starvation and critical race analyzers for Ada," IEEE Trans. Software Eng., vol. 16, pp. 829-843, Aug. 1990.
[2]
{2} S. M. Shatz and W. K. Cheng, "A Petri net framework for automated static analysis of Ada tasking behavior," J. Syst. Software, vol. 8, pp. 343-359, 1988.
[3]
{3} R. N. Taylor, "A general-purpose algorithm for analyzing concurrent programs," Commun. ACM, vol. 26, pp. 362-376, May 1983.
[4]
{4} E. M. Clarke, E. A. Emerson, and A. P. Sistla, "Automatic verification of finite-state concurrent systems using temporal logic specifications," ACM Trans. Programming Languages and Syst., vol. 8, pp. 244-263, Apr. 1986.
[5]
{5} L. K. Dillon, "Verifying general safety properties of Ada tasking programs," IEEE Trans. Software Eng., vol. 16, pp. 51-63, Jan. 1990.
[6]
{6} D. Helmbold and D. Luckham, "Debugging Ada tasking programs," IEEE Software, vol. 2, pp. 47-57, Mar. 1985.
[7]
{7} D. S. Rosenblum and D. C. Luckham, "Testing the correctness of tasking supervisors with TSL specifications," in Proc. ACM SIGSOFT '89 3rd Symp. on Software Testing, Analysis and Verification, R. A. Kemmerer, Ed., pp. 187-196 (also published in Software Eng. Notes, vol. 14, no. 8, 1989).
[8]
{8} J. C. Wileden, "Constrained expressions and the analysis of designs for dynamically-structured distributed systems," in Proc. Int. Conf. on Parallel Process., Aug. 1982, pp. 340-344.
[9]
{9} G. S. Avrunin, L. K. Dillon, J. C. Wileden, and W. E. Riddle, "Constrained expressions: adding analysis capabilities to design methods for concurrent software systems," IEEE Trans. Software Eng., vol. SE- 12, pp. 278-292, Feb. 1986.
[10]
{10} L. K. Dillon, G. S. Avrunin, and J. C. Wileden, "Constrained expressions toward broad applicability of analysis methods for distributed software systems," ACM Trans. Program. Languages and Syst., vol. 10, pp. 374-402, July 1988.
[11]
{11} G. S. Avrunin, L. K. Dillon, and J. C. Wileden, "Experiments with automated constrained expression analysis of concurrent software systems," in Proc. ACM SIGSOFT '89 3rd Symp. on Software Testing, Analysis and Verification, R. A. Kemmerer, Ed., pp. 124-130 (also published in Software Eng. Notes, vol. 14, no. 8, 1989).
[12]
{12} S. Katz and D. Peled, "An interleaving set temporal logic," in Proc. 6th Ann. ACM Symp. on Principles of Distributed Comput., 1987, pp. 178-190.
[13]
{13} L. A. Clarke, J. C. Wileden, and A. L. Wolf, "Nesting in Ada programs is for the birds," in Proc. ACM-SIGPLAN Symp. on the Ada Program. Language, 1980, pp. 139-145 (also published in SIGPLAN Notices, vol. 15, no. 11, 1980).
[14]
{14} R. J. Dakin, "A tree search algorithm for mixed integer programming problems," Computer J., vol. 8, pp. 250-255, 1965.
[15]
{15} M. A. Saunders, "MINOS system manual," Dept. Operations Res., Stanford Univ., Palo Alto, CA, Tech. Rep. SOL 77-31, 1977.
[16]
{16} M. Young, R. N. Taylor, K. Forester, and D. Brodbeck, "Integrated concurrency analysis in a software development environment," in Proc. ACM SIGSOFT '89 3rd Symp. on Software Testing, Analysis and Verification , R. A. Kemmerer, Ed., pp. 200-209 (also published in Software Eng. Notes, vol. 14, no. 8).
[17]
{17} S. Tu, S. M. Shatz, and T. Murata, "Theory and application of Petri net reduction for Ada-tasking deadlock analysis," preprint, 1990.
[18]
{18} K.-C. Tai, "A graphical notation for describing executions of concurrent Ada programs," Ada Lett., vol. 6, pp. 94-103, Jan.-Feb. 1986
[19]
{19} G. Ricart and A. K. Agrawala, "An optimal algorithm for mutual exclusion in computer networks," Commun. ACM, vol. 24, pp. 9-17, 1981.
[20]
{20} L. Lamport, "A new solution of Dijkstra's concurrent programming problem," Commun. ACM, vol. 17, no. 8, pp. 453-455, 1974.
[21]
{21} G. S. Avrunin and J. C. Wileden, "Describing and analyzing distributed software system designs," ACM Trans. Program. Languages and Syst., vol. 7, pp. 380-403, July 1985.
[22]
{22} R. N. Taylor, "Complexity of analyzing the synchronization structure of concurrent programs," Acta Inform., vol. 19, pp. 57-84, 1983.
[23]
{23} G. S. Avrunin, J. C. Corbett, L. K. Dillon, and J. C. Wileden, "Automated constrained expression analysis of real-time software," Dept. Comput. and Inform. Sci., Univ. Massachusetts, Amherst, Tech. Rep. 90-117, Dec. 1990.
[24]
{24} C. E. McDowell, "A practical algorithm for static analysis of parallel programs," J. Parallel and Distributed Process., vol. 6, pp. 515-536, June 1989.
[25]
{25} A. Valmari, "A stubborn attack on state explosion," in Computer-Aided Verification '90 (Series in Discrete Mathematics and Theoretical Computer Sci., vol. 3), E. M. Clarke and R. P. Kurshan, Eds. Providence, RI: Amer. Math. Soc., 1991, pp. 25-41.
[26]
{26} T. Murata, B. Shenker, and S. M. Shatz, "Detection of Ada static deadlocks using Petri net invariants," IEEE Trans. Software Eng., vol. 15, pp. 314-326, Mar. 1989.

Cited By

View all
  • (2019)Efficient verification of concurrent systems using local-analysis-based approximations and SAT solvingFormal Aspects of Computing10.1007/s00165-019-00483-231:3(375-409)Online publication date: 1-Jun-2019
  • (2018)Simplification of CTL Formulae for Efficient Model Checking of Petri NetsApplication and Theory of Petri Nets and Concurrency10.1007/978-3-319-91268-4_8(143-163)Online publication date: 24-Jun-2018
  • (2012)Parallel computation of continuous Petri nets based on hypergraph partitioningThe Journal of Supercomputing10.1007/s11227-011-0724-z62:1(345-377)Online publication date: 1-Oct-2012
  • Show More Cited By

Recommendations

Reviews

Jorgen Staunstrup

Constrained expressions can be used to model collections of asynchronous processes. This paper is an overview of the technique and a set of tools supporting it. A concurrent computation can be modeled as a set of traces. This set can be specified either by explicitly showing how to generate it or by implicitly stating constraints it must satisfy. Both approaches have been tried in the past. This work uses the latter approach, based on a notation called constrained expression design language (CEDL). Other authors have discussed a similar concept called “path expressions.” The paper describes a number of tools that can be used to analyze constrained expressions. A fundamental part of these tools is a standard package (called MINOS) for solving linear inequalities. The tools have been used on a number of toy examples discussed in the literature on concurrent computing (dining philosophers, gas station, readers and writers, and distributed mutual exclusion). The authors show how the tools can be used to demonstrate the absence or presence of deadlock. In some cases, it is possible to handle hundreds of processes. Running time and experience from a number of such experiments are reported and compared to the results obtained by using other tools. The paper should interest anyone working with tools supporting concurrent computing.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 17, Issue 11
November 1991
78 pages
ISSN:0098-5589
Issue’s Table of Contents

Publisher

IEEE Press

Publication History

Published: 01 November 1991

Author Tags

  1. Ada-like design language
  2. concurrent systems
  3. constrained expression toolset
  4. expression analysis techniques
  5. parallel programming
  6. programming languages
  7. reachable states
  8. software tools
  9. source code
  10. system traces

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2019)Efficient verification of concurrent systems using local-analysis-based approximations and SAT solvingFormal Aspects of Computing10.1007/s00165-019-00483-231:3(375-409)Online publication date: 1-Jun-2019
  • (2018)Simplification of CTL Formulae for Efficient Model Checking of Petri NetsApplication and Theory of Petri Nets and Concurrency10.1007/978-3-319-91268-4_8(143-163)Online publication date: 24-Jun-2018
  • (2012)Parallel computation of continuous Petri nets based on hypergraph partitioningThe Journal of Supercomputing10.1007/s11227-011-0724-z62:1(345-377)Online publication date: 1-Oct-2012
  • (2007)Safety property analysis techniques for cooperating embedded systems using LTSProceedings of the 5th IFIP WG 10.2 international conference on Software technologies for embedded and ubiquitous systems10.5555/1778978.1778992(114-124)Online publication date: 7-May-2007
  • (2005)Discovering thread interactions in a concurrent systemJournal of Systems and Software10.1016/j.jss.2004.04.02977:3(285-297)Online publication date: 1-Sep-2005
  • (2004)Flow analysis for verifying properties of concurrent software systemsACM Transactions on Software Engineering and Methodology10.1145/1040291.104029213:4(359-430)Online publication date: 1-Oct-2004
  • (2004)Discovering models of behavior for concurrent workflowsComputers in Industry10.1016/j.compind.2003.10.00553:3(297-319)Online publication date: 1-Apr-2004
  • (2002)FLAVERSIBM Systems Journal10.1147/sj.411.014041:1(140-165)Online publication date: 1-Jan-2002
  • (2002)Behavior relativity of Petri netsJournal of Computer Science and Technology10.1007/BF0296076717:6(770-780)Online publication date: 1-Nov-2002
  • (2001)Measuring Behavioral Correspondence to a Timed Concurrent ModelProceedings of the IEEE International Conference on Software Maintenance (ICSM'01)10.1109/ICSM.2001.972746Online publication date: 7-Nov-2001
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media