Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1007512.1007549acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article

Verifying process models built using parameterized state machines

Published: 01 July 2004 Publication History

Abstract

Software process and work flow languages are increasingly used to define loosely-coupled systems of systems. These languages focus on coordination issues such as data flow and control flow among the subsystems and exception handling activities. The resulting systems are often highly concurrent with activities distributed over many computers. Adequately testing these systems is not feasible due to their size, concurrency, and distributed implementation. Furthermore, the concurrent nature of their activities makes it likely that errors related to the order in which activities are interleaved will go undetected during testing. As a result, verification using static analysis seems necessary to increase confidence in the correctness of these systems. In this paper, we describe our experiences applying LTSA to the analysis of software processes written in Little-JIL. A key aspect to the approach taken in this analysis is that the model that is analyzed consists of a reusable portion that defines language semantics and a process-specific portion that uses parameterization and composition of pieces of the reusable portion to capture the semantics of a Little-JIL process. While the reusable portion was constructed by hand, the parameterization and composition required to model a process is automated. Furthermore, the reusable portion of the model encodes the state machines used in the implementation of the Little-JIL interpreter. As a result, analysis is based not just on the intended semantics of the Little-JIL constructs but on their actual execution semantics. This paper describes how Little-JIL processes are translated into models and reports on analysis results, which have uncovered seven errors in the Little-JIL interpreter that were previously unknown as well as an error in a software process that had previously been analyzed with a different approach without finding the error.

References

[1]
G. Booch, J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1999.
[2]
S. C. Cheung and J. Kramer. Checking safety properties using compositional reachability analysis. ACM Trans. on Soft. Eng. and Methodology, 8(1):49--78, Jan. 1999.
[3]
J. M. Cobleigh, L. A. Clarke, and L. J. Osterweil. Verifying properties of process definitions. In Proc. of the Intl. Symp. on Software Testing and Analysis (ISSTA), pages 96--101, Portland, Oregon, August 2000.
[4]
J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Pasareanu, Robby, and H. Zheng. Bandera: Extracting finite-state models from Java source code. In Proc. of the 22nd Intl. Conf. on Soft. Eng., pages 439--448, Limerick, Ireland, June 2000.
[5]
F. Curbera, Y. Goland, J. Klein, F. Leymann, D. Roller, S. Thatte, and S. Weerawarana. Business process execution language for web services, version 1.0. Technical report, BPMI.org, July 2002. available at http://www.bpmi.org/bpml-spec.esp.
[6]
C. Demartini, R. Iosif, and R. Sisto. A deadlock detection tool for concurrent java programs. Software - Practice and Experience, July 1999.
[7]
M. B. Dwyer and L. A. Clarke. Data flow analysis for verifying properties of concurrent programs. In Proc. of the ACM SIGSOFT '94 Symp. on the Foundations of Soft. Eng., pages 62--75, December 1994.
[8]
R. Eshuis and R. Wieringa. Verification support for work flow design with UML activity graphs. In Proc. of the 24th Intl. Conf. on Soft. Eng, pages 166--176, Orlando, Florida, May 2002.
[9]
H. Foster, S. Uchitel, J. Magee, and J. Kramer. Model-based verification of web service compositions. In Proc. of the 18th IEEE Intl. Conf. on Automated Soft. Eng. (ASE), Montreal, 2003.
[10]
G. Holzmann. A practical method for verifying event-driven software. In Proc. of the 21st Intl. Conf. on Soft. Eng. (ICSE'99), pages 597--607, May 1999.
[11]
C. Karamanolis, D. Giannakopoulou, J. Magee, and S. Wheater. Model checking of work flow schemas. In Proc. of the 4th Intl. Enterprise Dist. Object Computing Conf. (EDOC'00), Makuhari, Japan, Sept 2000.
[12]
M. Koshkina and F. van Breugel. Verification of business processes for Web services. Technical Report CS-2003-11, York University Department of Computer Science, Oct. 2003.
[13]
F. Leymann. Web services flow language (ws 1.0). Technical report, IBM, 2001. available at http://www-3.ibm.com/software/solutions/webservices/pdf/WSFL.pdf.
[14]
J. Magee and J. Kramer. Concurrency: State Models and Java Programs. John Wiley & Sons, 1999.
[15]
S. Nakajima. Model-checking verification for reliable web service. In Proc. of the OOPSLA 2002 Workshop on Object-Oriented Web Services, Seattle, Nov. 2002.
[16]
G. Naumovich, G. S. Avrunin, and L. A. Clarke. Data flow analysis for checking properties of concurrent Java programs. In Proc. of the 21st Intl. Conf. on Soft. Eng., pages 399--410, Los Angeles, 1999.
[17]
Robby, M. B. Dwyer, and J. Hatcliff. Bogor: An extensible and highly-modular model checking framework. In Proc. of the 4th Joint Meeting of the European Soft. Eng. Con. and ACM SIGSOFT Symposium on the Foundations of Soft. Eng. (ESEC/FSE 2003), March 2003.
[18]
R. W. S. Rodrigues. Formalising UML activity diagrams using finite state processes. In Proc. of the 3rd Intl. Conf. on the Unified Modeling Language, York, UK, Oct. 2000.
[19]
S. D. Stoller. Model-checking multi-threaded distributed java programs. In Proc. of the 7th Intl. SPIN Workshop, pages 224--244, 2000.
[20]
W. Visser, K. Havelund, G. Brat, and S. Park. Model checking programs. In Proc. of the Intl. Conf. on Automated Soft. Eng., Sept 2000.
[21]
A. Wise. Little-JIL 1.0 language report. Technical Report TR 98-24, University of Massachusetts, Department of Computer Science, 1998.
[22]
A. Wise, A. G. Cass, B. S. Lerner, E. K. McCall, L. J. Osterweil, and Stanley M. Sutton, Jr. Using Little-JIL to coordinate agents in software engineering. In Proc. of the Automated Soft. Eng. Conf. (ASE 2000), pages 155--164, Grenoble, France, September 2000.
[23]
W. J. Yeh and M. Young. Compositional reachability analysis using process algebra. In Proc. of the Symp. on Testing, Analysis, and Verification (TAV), pages 49--59, October 1991.

Cited By

View all
  • (2011)Analyzing Medical ProcessesEngineering of Software10.1007/978-3-642-19823-6_21(399-417)Online publication date: 2011
  • (2010)Exception Handling Patterns for Process ModelingIEEE Transactions on Software Engineering10.1109/TSE.2010.136:2(162-183)Online publication date: 1-Mar-2010
  • (2010)Automated Verification of Goal Net Models2010 International Conference on Computational Intelligence and Software Engineering10.1109/CISE.2010.5676884(1-4)Online publication date: Dec-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '04: Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
July 2004
294 pages
ISBN:1581138202
DOI:10.1145/1007512
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 29, Issue 4
    July 2004
    284 pages
    ISSN:0163-5948
    DOI:10.1145/1013886
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. LTSA
  2. Little-JIL
  3. SMC
  4. finite state machine
  5. software process
  6. work flow

Qualifiers

  • Article

Conference

ISSTA04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2011)Analyzing Medical ProcessesEngineering of Software10.1007/978-3-642-19823-6_21(399-417)Online publication date: 2011
  • (2010)Exception Handling Patterns for Process ModelingIEEE Transactions on Software Engineering10.1109/TSE.2010.136:2(162-183)Online publication date: 1-Mar-2010
  • (2010)Automated Verification of Goal Net Models2010 International Conference on Computational Intelligence and Software Engineering10.1109/CISE.2010.5676884(1-4)Online publication date: Dec-2010
  • (2009)Analyzing critical process models through behavior model synthesisProceedings of the 31st International Conference on Software Engineering10.1109/ICSE.2009.5070543(441-451)Online publication date: 16-May-2009
  • (2009)Software Evolution Process Description Language EPDLAn Approach to Modelling Software Evolution Processes10.1007/978-3-540-79464-6_5(70-84)Online publication date: 2009
  • (2009)Overview of Software Processes and Software EvolutionAn Approach to Modelling Software Evolution Processes10.1007/978-3-540-79464-6_2(8-33)Online publication date: 2009
  • (2008)Exception handling patterns for processesProceedings of the 4th international workshop on Exception handling10.1145/1454268.1454276(55-61)Online publication date: 14-Nov-2008
  • (2008)Analyzing medical processesProceedings of the 30th international conference on Software engineering10.1145/1368088.1368175(623-632)Online publication date: 15-May-2008
  • (2007)An algebraic approach for managing inconsistencies in software processesProceedings of the 2007 international conference on Software process10.5555/1763239.1763253(121-133)Online publication date: 19-May-2007
  • (2007)An Algebraic Approach for Managing Inconsistencies in Software Processes,Software Process Dynamics and Agility10.1007/978-3-540-72426-1_11(121-133)Online publication date: 2007
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media