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

Graph models for reachability analysis of concurrent programs

Published: 01 April 1995 Publication History

Abstract

The problem of analyzing concurrent systems has been investigated by many researchers, and several solutions have been proposed. Among the proposed techniques, reachability analysis—systematic enumeration of reachable states in a finite-state model—is attractive because it is conceptually simple and relatively straightforward to automate and can be used in conjunction with model-checking procedures to check for application-specific as well as general properties. This article shows that the nature of the translation from source code to a modeling formalism is of greater practical importance than the underlying formalism. Features identified as pragmatically important are the representation of internal choice, selection of a dynamic or static matching rule, and the ease of applying reductions. Since combinatorial explosion is the primary impediment to application of reachability analysis, a particular concern in choosing a model is facilitating divide-and-conquer analysis of large programs. Recently, much interest in finite-state verification systems has centered on algebraic theories of concurrency. Algebraic structure can be used to decompose reachability analysis based on a flowgraph model. The semantic equivalence of graph and Petri net-based models suggests that one ought to be able to apply a similar strategy for decomposing Petri nets. We describe how category-theoretic treatments of Petri nets provide a basis for decomposition of Petri net reachability analysis.

References

[1]
~APPELBE, B., SMITe, K., AND McDOWELL, C. 1989. Start/pat: A parallel-programming toolkit. ~IEEE Softw. 6, 4 (July), 29 38.
[2]
~APT, K. R. 1983 A static analysis of CSP programs. In Proceedings of the Workshop on ~Program Logic (Pittsburgh, Pa., June). Lecture Notes in Computer Science, vol. 164. Springer- ~Verlag, New York. Published in 1984.
[3]
~AUTANT, C., BELMESK, Z., AND SCHNOEBELEN, P. 1991. Strong bisimilarity on nets revisited. In ~PARLE '91, Parallel Architectures and Languages Europe (Eindhoven, The Netherlands, ~June). Lecture Notes in Computer Science, vol. 506. Springer-Verlag, Berlin, 295 312.
[4]
~AVRUNIN, G. S., BuY, U. A., CORBETT, J. C., DILLON, L. K., AND WmEDEN, J.C. 1991. Automated ~analysis of concurrent systems with the constrained expression toolset. IEEE Trans. Softw. ~Eng. 17, 11 (Nov.), 1204-1222.
[5]
~A~q~UNIN, G. S., DILLON, L. K., WILEDEN, J. C., AND RIDDLE, W.E. 1986. Constrained expres- ~sions: Adding analysis capabilities to design methods for concurrent software systems. IEEE ~Trans Softw. Eng. SE-12, 2 (Feb), 278-292.
[6]
~BAETEN, J C. M. AND VAN GLABEEK, R.J. 1987. Another look at abstraction in process algebra. ~In Proceedings of the 14th International Colloquzum on Automata, Languages, and Program- ~ruing (ICALP) (Karlsruhe, Germany, July). Lecture Notes in Computer Science, vol. 267. ~Springer-Verlag, Berlin, 84-94.
[7]
~BEAVEN, M., ELMORE, B., MARINESCU, D. C., AND STANSIFER, R. 1991 VERT--verification of ~real-time programs. In Proceedings of the 15th Annual International Computer Software and ~Applications Conference (Sept.). IEEE Computer Society Press, Los Alamitos, Calif., 618-625.
[8]
~BEAVEN, M., MARINESCU, D. C., AND STANSIFER, R. 1992 Modeling concurrent programs with ~colored Petri nets. Tech. Rep. CRPDC-92-4, Center for Research in Parallel and Distributed ~Computing, Dept of Computer Sciences, Univ of North Texas, Denton, Tex. Feb.
[9]
~BERGSTRA, J. A. AND KLOP, J.W. 1984. Process algebra for synchronous communication. Inf. ~Contr. 60, 109 137.
[10]
~BROOKES, S. D., HOARE, C. A. R., AN~ ROSCOE, A. W. 1984. A theory of communicating ~sequential processes. J ACM 31, 3 (July), 560-599.
[11]
~BRYANT, R.E. Graph-based algorithms for boolean function manipulations. IEEE Trans. Corn- ~put. C-35, 8, 677 691.
[12]
~BURCH, J. R., CLARKE, E. M., McMILLAN, K. L., DILL, D. L., AND HWANC~, L.J. 1990. Symbolic ~model checking: 102o states and beyond In Proceedings of the 5th Annual Symposium on Logic ~in Computer Science (June). IEEE Computer Society Press, Los Alamitos, Calif.
[13]
~CLARKE, E. M., EMERSON, E. A., AND SISTLA, A. P 1986. Automatic verification of finite-state ~concurrent systems using temporal logic. ACM Trans. Program. Lang. Syst. 8, 2 ~Apr.), ~244-263.
[14]
~CLEAVELAND, R, FARROW, J., AND STEFFEN, B. 1990 A semantms-based verification toot for ~finite-state systems. In Protocol Speci~catton, Testing, and Verification, IX. North-Holland, ~Amsterdam, 287-302.
[15]
~CLEAVELAND, R., FARROW, J., AND STEFFEN, B. 1991. The concurrency workbench: A semantics ~based tool for the verification of concurrent systems. In Proceedings of the Workshop on ~Automatic Verification Methods for Fznite State Machines (Feb.). Lecture Notes in Computer ~Science, vol. 407. Springer-Verlag, New York, 24-37.
[16]
~CORBETT, J.C. 1994. An empirical evaluation of three methods for deadlock analysis ef Ada ~tasking programs. In Proceedinga of the 1994 International Symposium on Software Testing ~and Analys~s (ISSTA) (Seattle, Wash., Aug.). ACM, New York, 204-215.
[17]
~DWYER, M. AND CLARKE, L. 1994. Data flow analysis for verifying properties of concurrent ~progqcams. In Proceedings of the 2nd ACM SIGSOFT Symposium on Foundations of Software ~Engineering (New Orleans, La., Dec.). ACM, New York, 62 75.
[18]
~DWYER, M., CLARKE, L., AND NIES, K. 1995. A compact Patti net representation for concurrent ~programs. In Proceedings of the 17th Internatzonal Conference on Software Engineering ( ICSE ~17) (Seattle, Wash, Apr.) IEEE Computer Society Press, Los Alamitos, Calif. To be published.
[19]
~ENDERS, R., FILKORN, T., AND TAUBNER, D. 1991. Generating BDDs for symbolic model check- ~ing in CCS. In Proceedings of the 3rd Workshop on Computer A~ded Ver~fwat~on. Lecture Notes ~in Computer Science, vol. 531. Springer-Verlag, New York, 263-278.
[20]
~FERNANDEZ, J.-C. 1988. Ald6baran: Un syst~me de v6rification par ~eduction de processus ~communicants. Ph.D. thesis, Univ. de Grenoble, Grenoble, France.
[21]
~FERNANDEZ, J.-C., GARAVEL, H., MOURNIER, L., RASSE, A., RODRIGUEZ, C. AND SIFAKIS, J. 1992. ~A toolbox for the verification of LOTOS programs. In Proceedings of the 14th International ~ConfPrence on Software Engineering (Melbourne, Australia). IEEE Computer Society Press, ~Los Alamitos, Calif., 246-259.
[22]
~FORESTER, K. 1991. TIG-based Petri nets for modeling Ada tasking. Master's thesis, Dept. of ~Computer and Information Science, Univ. of Massachusetts, Amherst, Mass. June. Available ~as COINS Tech. Rap. 91 69.
[23]
~HELMBOLD, D. P. AND McDOWELL, C. E, 1991. Computing reachable states of parallel pro- ~grams. In Proceedtngs of the ACM /ONR Workshop on Parallel and Distributed Debugging, B. ~P. Miller and C. McDowell, Eds. ACM SIGPLAN Not. 26, 12, 76-84.
[24]
HENNESSY, M. 1988. Algebraic Theory of Processes MIT Press, Cambridge, Mass.
[25]
~HOARE, C. A.R. 1985. Communicating Sequential Processes. Prentice-Hall International, Lon- ~don.
[26]
~HOLZMANN, G.J. 1987. Automated protocol validation in Argos: Assertion proving and scatter ~searching. IEEE Trans. Sofiw. Eng. SE-13, 6 (June), 683 696.
[27]
~HOLZMANN, G.J. 1991. Design and Vahdatton of Computer Protocols. Prentice-Hall, Engle- ~wood{ Cliffs, N.J.
[28]
~KARP, R. M. AND MILLER, R.E. 1969. Parallel program schemata. J. Comput. Syst. Scl. 3, ~(May).
[29]
~KELLER, J. K., CAMERON, M., TAYLOR, R. N., AND TROVP, D.B. 1991. User interface develop- ~ment and software environments: The Chiton-1 system. In Proceedzngs of the 13th Interna- ~tional Conference on Software Engineering (Austin, Tax., May). IEEE Computer Society Press. ~Los Alamitos, Calif:, 208-218.
[30]
~LADNER, R. E. 1979. The complexity of problems in systems of communicating sequentml ~processes. In Proceedings of the 11th Annual ACM Symposium on Theory of Computing ~(Atlanta, Ga., Apr.). ACM, New York, 214 223.
[31]
~LONG, D. L. AND CLARKE, L.A. 1989. Task interactmn graphs for concurrency analysis. In ~Proceedings of the 11th International Conference on Software Engzneer~ng (Pittsburgh, Pa., ~May). 44 52.
[32]
~LONG, D. L. AND CLARKE, L.A. 1991. Data flow analysis of concurrent systems that use the ~rendezvous model of synchronization. In Proceedzngs of the Symposium on Software Testtng, ~Analysis, and Verification (TAV4) (Victoria, British Columbia, Oct.). ACM Press, New York, ~21 35.
[33]
~MALHORTA, J., SMOLKA, S. A., GiACALONE, A., AND SHAPIRO, R. 1990. Winston--a tool for ~hierarchical design and simulation of concurrent systems. In Speetftcatlon and Verification of ~Concurrent Systems, C. Rattray, Ed. Sprmger-Verlag, New York, 140 152.
[34]
~MANDRiOLi, D., ZICARt, R., GHEZZI, C., AND TISATO, F. 1985. Modeling the Ada task system by ~PetrlL nets. Comput. Lang. 10, 1, 43 61.
[35]
~MASTICOLA, S P. AND RYDER, B.G. 1990 Static infinite wait anomaly detection in polynomial ~time. Tech Rep. LCSR-TR-141, Dept of Computer Science, Rutgers Univ., Piscataway, N.J. ~Jan.
[36]
~MASTICOLA, S. P. AND RYDER, B. G. 1991. A model of Ads programs for static deadlock ~detection m polynomial tm~e. In Proceedings of the ACM/ONR Workshop on Parallel and ~Dzstr~buted Debugging, B. P. Miller and C. McDowell, Eds. SIGPLANNot. 26, 12, 97 107.
[37]
~McDOWELL, C. E. 1989. A practical algorithm for static analysis of parallel programs. J. ~Parallel Dlstrib. Comput. 6, 515 536.
[38]
~MESEGUER, J. AND MON'rANARI, U. 1990. Petn nets are monoids. In/. Comput. 88, 105-155.
[39]
~MILNER, R. 1980. A Calculus o~ Communicating Systems. Lecture Notes in Computer Science, ~vol 92. Springer-Verlag, New York
[40]
~M~LNEI~, R. 1989 Communication and Concurrency. Prentice-Hall International, London.
[41]
~MORASCA, S. AND PEZZt~, M. 1989. Vahdation of concurrent Ads programs using symbolic ~execution. In ESEC '89' 2nd European Software Engineering Conference. Lecture Notes m ~Computer Science, vol 387. Springer-Verlag, Berlin, 469-486.
[42]
~MOI~GAN, E. T. AND RAZOUK, R.R. 1987. Interactive state-space analysm of concurrent systems. ~IEEE Trans. Softw. Eng. SE-13, 10 (Oct I, 1080-1091.
[43]
~MURATA, T. 1989 Petri nets: Properties, analysis, and applications Proc IEEE 77, 4 (Apr.), ~541-580.
[44]
~OLDEROG, E.-R. 1989 Strong Msimilarity on nets: A new concept for comparing net semantics. ~In Lecture Notes in Computer Science Vol. 222. Springer-Verlag, New York, 549-573.
[45]
~PETERSON, J. 1989. Petrz Net Theory and the Modeling of Systems. Prentice-Hall, Englewood ~Chffs, N.J.
[46]
~p~:zz~, M. ~NO YOUNG, M. 1995. Complexity of recognizing deadlocked states in the TIC model ~of Ada tasking Tech Rep., Software Engineering Research Center, Dept. of Computer Science, ~Purdue Univ., West Lafayette, Ind. Also available as ht~p://www.cs.purdue.edu/ ~people/young/papers.
[47]
~RATEL, C, HALBWACHS, N, AND RAYMOND, P 1991. Programming and verifying critical systems ~by means of the synchronous data-flow language LUSTRE. In Proceedmg~s of the ACM ~SIGSOFT '91 Conference on Software for Cmt~cal Systems (New Orleans, La., Dec ) ACM, New ~York, 112 119.
[48]
~REISIC, W. 1985 Petri Nets. EATCS Monographs on Theoretical Computer Science. Sprmger- ~Verlag, New York.
[49]
~SHATZ, S M AND CHENG, W K. 1988 A Petri net framework for automated static analysis of ~Ada tasking behavior J. Syst. Softu,. 8, (Dec.), 343-359.
[50]
~SHATZ, S. M., MAI, K., BLACK, C., AND TU, S. 1990. Design and implementation of a Petri net ~based toolkit for Ada tasking analysis. IEEE Trans. Parallel Distrib Syst. 1, 4 (Oct.), 424-441.
[51]
~SHENKER, B., MUEATA, T., AND SHATZ, S.M. 1986. Use of Petri net mvariants to detect statm ~deadlocks in Ada programs. In Proceedings of the Fall Joint Computer Conference (Nov) IEEE ~Computer Society Press, Los Alamitos, Calif., 1072 1081. See also IEEE Trans. Softw Eng ~15, 3 (Mar l, 314 326.
[52]
~SMOLKa, S. A 1984. Analysxs ofcommumcatmg finite state processes. Ph.D. thesis, Computer ~Scmnce Tech. Rep. CS-84-05., Dept of Computer Scmnce, Brown Univ, Providence, R.I.
[53]
~STANSlFER, R. 1992. Critical paths and bisimulation for colored Petri nets. Tech. Rep., Dept. of ~Computer Sciences, Center for Research in Parallel and Distributed Computing, Univ. of ~North Texas, Denton, Tex.
[54]
~SUNSHINE, C. A., Ed. 1986. Communtcatmn Protocol Modehng. Artech House, Dedham, Mass
[55]
~TAYLOR, R. N. 1983a. Complexity of analyzing the synchromzation structure of concurrent ~programs. Acts Informatzca 19, 57-84.
[56]
~TAYLOR, R.N. 1983b. A general-purpose algorithm for analyzing concurrent programs. Com- ~mun. ACM 26, 5 (May), 362-376.
[57]
~TAYLOR, R N. AND JOHNSON, G.F. 1993 Separatmns of concerns in the Chiron-1 user interface ~development and management system. In Proceedings of the Conference on Human Factors m ~Computer Systems (Amsterdam, Apr.). ACM, New York, 367 374
[58]
~TAYLOR, R. N., LEVINE, D. L., AND KELLY, C D 1992. Structural testing of concurrent pro- ~grams. IEEE Trans. Softu,. Eng. 18, 3 (Mar.), 206 215.
[59]
~WINS~L, G. 1984. A new definition of morphism on Petri nets. In STACS 84, Symposium of ~Theoretical Aspects of Computer Science (Paris, Apr.). Lecture Notes in Computer Science, vol. ~166. Springer-Verlag, Berlin, 140-150.
[60]
~WINSK~L, G. 1987. Petri nets, algebras, morphism, and compositionality. Inf. Comput. 72, ~197-238.
[61]
~WOLPER, P. 1986. Specifying interesting properties of programs in propositional temporal ~logics. In Proceedings of the 13th ACM Symposium on Principles of Programming Languages ~(St. Petersburg, Fla., Jan.). ACM, New York, 184-193.
[62]
~YES, W.J. 1993. Controlling state explosion in reachability analysis. Ph.D. thesis, Dept. of ~Computer Science, Purdue Univ., West Lafayette, Ind. Dec.
[63]
~YEH, W. J. ~-~D YOUNG, M. 1991. Compositional reachability analysis using process algebra. In ~Proceedings of the Symposium on Software Testing, Analysts, and Verification (TAV4) ~(Victoria, British Columbia, Oct.). ACM Press, New York, 49 59.
[64]
~YEH, W. J. AND YOUNG, M. 1993. Compositional reachability analysis of Ada programs using ~process algebra. Tech. Rep., Dept. of Computer Science, Software Engineering Research ~Center, Purdue Univ., West Lafayette, Ind. July.
[65]
~YEH, W. J. AND YOUNG, M. 1994. Redesigning tasking structures of Ada programs for analysis: ~A case study. Softw. Test. Verif. Rel. 4, (Dec.), 223-253.
[66]
~YOUNG~, M. 1988. How to leave out details: Error-preserving abstractions of state-space mod- ~els. In Proceedings of the 2nd Workshop on Software Testing, Verification, and Analysts ~(Banff, Canada, July). IEEE Computer Society Press, Los Alamitos, Calif., 63 70
[67]
~YOUNG, M., TAYLOR, R. N., LEVINE, D. L., FORESTER, K., AND BRODBECK, D. 1995. A concurrency ~analysis tool suite for Ada programs: Rationale, design, and preliminary experience. ACM ~Trans. Softw. Eng. Meth. 4, 1 (Jan.), 65-106.

Cited By

View all
  • (2023)Construction of m-cube mesh networks using Petri netsInternational Journal of System Assurance Engineering and Management10.1007/s13198-022-01849-114:S1(256-262)Online publication date: 5-Jan-2023
  • (2017)Precise slicing of interprocedural concurrent programsFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-017-6189-311:6(971-986)Online publication date: 1-Dec-2017
  • (2014)Ordinary Differential Equation-Based Deadlock DetectionIEEE Transactions on Systems, Man, and Cybernetics: Systems10.1109/TSMC.2014.231175744:10(1435-1454)Online publication date: Oct-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 4, Issue 2
April 1995
111 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/210134
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 1995
Published in TOSEM Volume 4, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Ada tasking
  2. process algebra
  3. static analysis

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)52
  • Downloads (Last 6 weeks)17
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Construction of m-cube mesh networks using Petri netsInternational Journal of System Assurance Engineering and Management10.1007/s13198-022-01849-114:S1(256-262)Online publication date: 5-Jan-2023
  • (2017)Precise slicing of interprocedural concurrent programsFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-017-6189-311:6(971-986)Online publication date: 1-Dec-2017
  • (2014)Ordinary Differential Equation-Based Deadlock DetectionIEEE Transactions on Systems, Man, and Cybernetics: Systems10.1109/TSMC.2014.231175744:10(1435-1454)Online publication date: Oct-2014
  • (2013)Petri Net Representation of Switched Fuzzy SystemsIEEE Transactions on Fuzzy Systems10.1109/TFUZZ.2012.219775521:1(16-29)Online publication date: 1-Feb-2013
  • (2012)Modularity and Part-Whole Compositionality for Computing the State Semantics of StatechartsProceedings of the 2012 12th International Conference on Application of Concurrency to System Design10.1109/ACSD.2012.22(193-203)Online publication date: 27-Jun-2012
  • (2011)Validation & Verification of an EDA automated synthesis tool2011 IEEE 6th International Design and Test Workshop (IDT)10.1109/IDT.2011.6123100(48-52)Online publication date: Dec-2011
  • (2010)Slicing Concurrent Programs Based on Program Reachability GraphsProceedings of the 2010 10th International Conference on Quality Software10.1109/QSIC.2010.37(248-253)Online publication date: 14-Jul-2010
  • (2009)Static Analysis of Concurrent Programs Using Ordinary Differential EquationsProceedings of the 6th International Colloquium on Theoretical Aspects of Computing10.1007/978-3-642-03466-4_1(1-35)Online publication date: 12-Aug-2009
  • (2009)Automated Process Quality Assurance for Distributed Software DevelopmentSoftware Engineering Approaches for Offshore and Outsourced Development10.1007/978-3-642-01856-5_14(196-210)Online publication date: 2009
  • (2005)HermesProceedings of the 5th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: mobile computing10.1007/11419822_8(234-270)Online publication date: 26-Apr-2005
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media