Linear-Time Model Checking: Automata Theory in Practice
|
|
- Martina Thompson
- 5 years ago
- Views:
Transcription
1 Linear-Time Model Checking: Automata Theory in Practice (Extended Abstract of an Invited Talk) Moshe Y. Vardi Rice University, Department of Computer Science, Houston, TX , U.S.A. Abstract. In automata-theoretic model checking we compose the design under verification with a Büchi automaton that accepts traces violating the specification. We then use graph algorithms to search for a counterexample trace. The basic theory of this approach was worked out in the 1980s, and the basic algorithms were developed during the 1990s. Both explicit and symbolic implementations, such as SPIN and and SMV, are widely used. It turns out, however, that there are still many gaps in our understanding of the algorithmic issues involved in automata-theoretic model checking. This paper covers the fundamentals of automata-theoretic model checking. The conference talk also reviews the reduction of the theory to practice and outlines areas that require further research. Keywords: Büchi automata, model checking, linear-temporal logic. 1 Introduction Formal verification is a process in which mathematical techniques are used to guarantee the correctness of a design with respect to some specified behavior. Automated formal-verification tools, such as COSPAN [15], SPIN [16] and SMV [7,20], based on model-checking technology [8,22], have enjoyed a substantial and growing use over the last few years, showing an ability to discover subtle flaws that result from extremely improbable events [9]. While until recently these tools were viewed as of academic interest only, they are now routinely used in industrial applications, resulting in decreased time to market and increased product integrity [10,11,18]. It is fair to say that automated verification is one of the most successful applications of automated reasoning in computer science. As model-checking technology matured, the demand for specification language of increased expressiveness increased interest in linear-time formalisms [2]. The automata-theoretic approach offers a uniform algorithmic framework for model checking linear-time properties [17,23,26]. It turns out, however, that Supported in part by NSF grants CCR , CCR , CCR , and ANI , by BSF grant , and by a grant from the Intel Corporation. Jan Holub and Jan Žd árek (Eds.): CIAA 2007, LNCS 4783, pp. 5 10, c Springer-Verlag Berlin Heidelberg 2007
2 6 M.Y. Vardi there are still many gaps in our understanding of the algorithmic issues involved in automata-theoretic model checking [25]. This paper covers the fundamental theory of automata-theoretic model checking. The conference talk also reviews the reduction of the theory to practice and outlines areas that require further research. 2 Basic Theory The first step in formal verification is to come up with a formal specification of the design, consisting of a description of the desired behavior. One of the more widely used specification languages for designs is temporal logic [21]. In linear temporal logics, time is treated as if each moment in time has a unique possible future. Thus, linear temporal formulas are interpreted over linear sequences, and we regard them as describing the behavior of a single computation of a system. (An alternative approach is to use branching time. For a discussion of linear vs. branching time, see [24].) In the linear temporal logic LTL, formulas are constructed from a set Prop of atomic propositions using the usual Boolean connectives as well as the unary temporal connectives X ( next ), F ( eventually ), G ( always ), and the binary temporal connective U ( until ). For example, the LTL formula G(request F grant), which refers to the atomic propositions request and grant, istrueina computation precisely when every state in the computation in which request holds is followed by some state in the future in which grant holds. The LTL formula G(request (request U grant)) is true in a computation precisely if, whenever request holds in a state of the computation, it holds until a state in which grant holds is reached. In LTL model checking we assume that the specification is given in terms of properties expressed by LTL formulas. LTL is interpreted over computations, which can be viewed as infinite sequences of truth assignments to the atomic propositions; i.e., a computation is a function π : IN 2 Prop that assigns truth values to the elements of Prop at each time instant (natural number). For a computation π and a point i IN, the notation π, i = ϕ indicates that a formula ϕ holds at the point i of the computation π. Inparticular,π, i = Xϕ if π, i +1 = ϕ, andπ, i = ϕuψ if for some j i, wehaveπ, j = ψ and for all k, i k<j,wehaveπ, k = ϕ. The connectives F and G can be defined in terms of the connective U: Fϕ is defined as true Uϕ,andGϕ is defined as F ϕ. Wesaythatπ satisfies aformulaϕ, denoted π = ϕ, iffπ, 0 = ϕ. We denote by models(ϕ) the set of computations satisfying ϕ. Designs can be described using a variety of formalisms. Regardless of the formalism used, a finite-state design can be abstractly viewed as a labeled transition system, i.e., as a structure of the form M =(W, W 0,R,V), where W is the finite set of states that the system can be in, W 0 W is the set of initial states of the system, R W 2 is a transition relation that indicates the allowable state transitions of the system, and V : W 2 Prop assigns truth values to the atomic propositions in each state of the system. (A labeled transition system is
3 Linear-Time Model Checking: Automata Theory in Practice 7 essentially a Kripke structure.) A path in M that starts at u is a possible infinite behavior of the system starting at u, i.e., it is an infinite sequence u 0,u 1,... of states in W such that u 0 = u, and(u i,u i+1 ) R for all i 0. The sequence V (u 0 ),V(u 1 ),... is a computation of M that starts at u. It is the sequence of truth assignments visited by the path, and can be viewed as a function from IN to 2 Prop.Thelanguage of M, denoted L(M), consists of all computations of M that start at a state in W 0.NotethatL(M) can be viewed as a language of infinite words over the alphabet 2 Prop. The language L(M) can be viewed as an abstract description of the system M, describing all possible traces. We say that M satisfies an LTL formula ϕ if all computations in L(M) satisfyϕ, that is, if L(M) models(ϕ). When M satisfies ϕ we also say that M is a model of ϕ, which explains why the technique is known as model checking [9]. One of the major approaches to automated verification is the automatatheoretic approach, which underlies model checkers that can handle linear-time specifications (for a precursor, see [19]). The key idea underlying the automatatheoretic approach is that, given an LTL formula ϕ, it is possible to construct a finite-state automaton A ϕ on infinite words that accepts precisely all computations that satisfy ϕ. The type of finite automata on infinite words we consider is the one defined by Büchi [4]. A Büchi automaton is a tuple A =(Σ,S,S 0,ρ,F), where Σ is a finite alphabet, S is a finite set of states, S 0 S is a set of initial states, ρ : S Σ 2 S is a nondeterministic transition function, and F S is a set of accepting states. A run of A over an infinite word w = a 1 a 2,isa sequence s 0 s 1,wheres 0 S 0 and s i ρ(s i 1,a i ) for all i 1. A run s 0,s 1,... is accepting if there is some accepting state that repeats infinitely often, i.e., for some s F there are infinitely many i s such that s i = s. The infinite word w is accepted by A if there is an accepting run of A over w. Thelanguage of infinite words accepted by A is denoted L(A). The following fact establishes the correspondence between LTL and Büchi automata [27] (for a tutorial introduction to this correspondence, see [23]): Theorem 1. Given an LTL formula ϕ, onecanbuildabüchi automaton A ϕ = (Σ,S,S 0,ρ,F),whereΣ =2 Prop and S 2 O( ϕ ), such that L(A ϕ )=models(ϕ). This correspondence reduces the verification problem to an automata-theoretic problem as follows [26]. Suppose that we are given a system M and an LTL formula ϕ. We check whether L(M) models(ϕ) as follows: (1) construct the automaton A ϕ that corresponds to the negation of the formula ϕ (this automaton is called the complementary automaton), (2) take the cross product of the system M and the automaton A ϕ to obtain an automaton A M,ϕ, such that L(A M,ϕ )=L(M) L(A ϕ ), and (3) check whether the language L(A M,ϕ ) is empty, i.e., A M,ϕ accepts no input. Theorem 2. Let M be a labeled transition system and ϕ be an LTL formula. Then M satisfies ϕ iff L(A M,ϕ )=. If L(A M,ϕ ) is empty, then the design is correct. Otherwise, the design is incorrect and the word accepted by L(A M,ϕ ) is an incorrect computation.
4 8 M.Y. Vardi The emptiness problem for an automaton is to decide, given an automaton A, whetherl(a) =, i.e., if the automaton accepts no word. Algorithms for emptiness are based on testing fair reachability in graphs: an automaton is nonempty if starting from some initial state we can reach an accepting state from where there is a cycle back to itself [6]. An algorithm for nonemptiness is the following: (i) decompose the transition graph of the automaton into maximal strongly connected components (msccs) (linear cost depth-first search [12]); (ii) verify that one of the msccs intersects with F (linear cost). More sophisticated Büchi nonemptiness algorithms have been studied, e.g., [13,14]. When the automaton is nonempty, nonemptiness algorithms return a witness in the shape of a lasso : an initial finite prefix followed by a finite cycle. (If the accepting states are sink states, then the finite cycle following the initial prefix can be ignored.) Thus, once the automaton A ϕ is constructed, the verification task is reduced to automata-theoretic problems, namely, intersecting automata and testing emptiness of automata, which have highly efficient solutions [23]. Furthermore, using data structures that enable compact representation of very large state spaces makes it possible to verify designs of significant complexity [3,5]. The linear-time framework is not limited to using LTL as a specification language. ForSpec and PSL are recent extensions of LTL, designed to address the need of the semiconductor industry [1,2]. There are also those who prefer to use automata on infinite words as a specification formalism [27]; in fact, this is the approach of COSPAN [15,17]. In this approach, we are given a design represented as a finite transition system M and a property represented by a Büchi (or a related variant) automaton P. The design is correct if all computations in L(M) are accepted by P, i.e., L(M) L(P ). This approach is called the languagecontainment approach. To verify M with respect to P, we: (1) construct the automaton P c that complements P, (2) take the product of the system M and the automaton P c to obtain an automaton A M,P, and (3) check that the automaton A M,P is nonempty. As before, the design is correct iff A M,P is empty. Thus, the verification task is again reduced to automata-theoretic problems, namely complementing and intersecting automata and testing emptiness of automata. References 1. Albin, K., et al.: Property Specification Language Reference Manual. Technical Report Version 1.1, Accellera (2004) 2. Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, M.Y., Zbar, Y.: The ForSpec temporal logic: A new temporal property-specification logic. In: Katoen, J.-P., Stevens, P. (eds.) ETAPS 2002 and TACAS LNCS, vol. 2280, pp Springer, Heidelberg (2002) 3. Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) ETAPS 1999 and TACAS LNCS, vol. 1579, Springer, Heidelberg (1999) 4. Büchi, J.R.: On a decision method in restricted second order arithmetic. In: Proc. Int. Congress on Logic, Method, and Philosophy of Science. 1960, pp Stanford University Press (1962)
5 Linear-Time Model Checking: Automata Theory in Practice 9 5. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: states and beyond. Information and Computation 98(2), (1992) 6. Choueka, Y.: Theories of automata on ω-tapes: A simplified approach. Journal of Computer and Systems Science 8, (1974) 7. Cimatti, A., Clarke, E.M., Giunchiglia, E., Giunchiglia, F., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: Nusmv 2: An opensource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV LNCS, vol. 2404, pp Springer, Heidelberg (2002) 8. Clarke, E.M., Emerson, E.A., Sistla, A.P.: Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languagues and Systems 8(2), (1986) 9. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999) 10. Clarke, E.M., Kurshan, R.P.: Computer aided verification. IEEE Spectrum 33, (1986) 11. Clarke, E.M., Wing, J.M.: Formal methods: State of the art and future directions. ACM Computing Surveys 28, (1996) 12. Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press and McGraw-Hill (1990) 13. Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design 1, (1992) 14. Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional μ-calculus. In: Proc. 1st IEEE Symp. on Logic in Computer Science, pp IEEE Computer Society Press, Los Alamitos (1986) 15. Hardin, R.H., Har el, Z., Kurshan, R.P.: COSPAN. In: Alur, R., Henzinger, T.A. (eds.) CAV LNCS, vol. 1102, pp Springer, Heidelberg (1996) 16. Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), (1997) 17. Kurshan, R.P.: Computer Aided Verification of Coordinating Processes. Princeton Univ. Press, Princeton, NJ (1994) 18. Kurshan, R.P.: Formal verification in a commercial setting. In: Proc. 34st Design Automation Conf., vol. 34, pp (1997) 19. Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proc. 12th ACM Symp. on Principles of Programming Languages, pp ACM Press, New York (1985) 20. McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993) 21. Pnueli, A.: The temporal logic of programs. In: Proc. 18th IEEE Symp. on Foundations of Computer Science, pp IEEE Computer Society Press, Los Alamitos (1977) 22. Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in Cesar. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) International Symposium on Programming. LNCS, vol. 137, pp Springer, Heidelberg (1982) 23. Vardi, M.Y.: An automata-theoretic approach to linear temporal logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp Springer, Heidelberg (1996) 24. Vardi, M.Y.: Branching vs. linear time: Final showdown. In: Margaria, T., Yi, W. (eds.) ETAPS 2001 and TACAS LNCS, vol. 2031, pp Springer, Heidelberg (2001)
6 10 M.Y. Vardi 25. Vardi, M.Y.: Automata-theoretic model checking revisited. In: Cook, B., Podelski, A. (eds.) VMCAI LNCS, vol. 4349, pp Springer, Heidelberg (2007) 26. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proc. 1st IEEE Symp. on Logic in Computer Science, pp IEEE Computer Society Press, Los Alamitos (1986) 27. Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Information and Computation 115(1), 1 37 (1994)
The Maude LTL Model Checker and Its Implementation
The Maude LTL Model Checker and Its Implementation Steven Eker 1,José Meseguer 2, and Ambarish Sridharanarayanan 2 1 Computer Science Laboratory, SRI International Menlo Park, CA 94025 eker@csl.sri.com
More informationUser Manual of Extended NuSMV
User Manual of Extended NuSMV Wanwei Liu, Ji Wang and Zhaofei Wang National Laboratory of Distributed and Parallel Processing China Email: {wwliu,wj,zfwang} @ nudt. edu. cn This document is part of the
More informationParallel Model Checking of ω-automata
Parallel Model Checking of ω-automata Vincent Bloemen Formal Methods and Tools, University of Twente v.bloemen@utwente.nl Abstract. Specifications for non-terminating reactive systems are described by
More informationTutorial on Model Checking Modelling and Verification in Computer Science
Tutorial on Model Checking Modelling and Verification in Computer Science Armin Biere Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria Abstract. This paper serves
More informationALASKA Antichains for Logic, Automata and Symbolic Kripke structures Analysis
ALASKA Antichains for Logic, Automata and Symbolic Kripke structures Analysis M. De Wulf 1, L. Doyen 2, N. Maquet 1 and J.-F. Raskin 1 1 Université Libre de Bruxelles (ULB), Belgium 2 École Polytechnique
More informationModel Checking: Back and Forth Between Hardware and Software
Model Checking: Back and Forth Between Hardware and Software Edmund Clarke 1, Anubhav Gupta 1, Himanshu Jain 1, and Helmut Veith 2 1 School of Computer Science, Carnegie Mellon University {emc, anubhav,
More informationSérgio Campos, Edmund Clarke
Sérgio Campos, Edmund 1 / 23 Model checking is a technique that relies on building a finite model of a system and checking that a desired property holds in that model. The check is performed by an exhaustive
More informationCoverage Metrics for Formal Verification
Coverage Metrics for Formal Verification Hana Chockler, Orna Kupferman, and Moshe Y. Vardi Hebrew University, School of Engineering and Computer Science, Jerusalem 91904, Israel Email: hanac,orna @cs.huji.ac.il,
More informationFifteen Years of Formal Property Verification in Intel
Fifteen Years of Formal Property Verification in Intel Limor Fix Intel Research Pittsburgh Limor.fix@intel.com Abstract. Model checking technologies have been applied to hardware verification in the last
More informationLecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213
Lecture: Symbolic Model Checking with BDDs Edmund M Clarke, Jr Computer Science Department Carnegie Mellon University Pittsburgh, PA 523 Temporal Logic Model Checking Specification Language: A propositional
More informationCOMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University
Eugene Syriani Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science McGill University 1 OVERVIEW In the context In Theory: Timed Automata The language: Definitions and Semantics
More informationExperimental Evaluation of Classical Automata Constructions
Experimental Evaluation of Classical Automata Constructions Deian Tabakov and Moshe Y. Vardi Department of Computer Science, Rice University, Houston, TX {dtabakov,vardi}@cs.rice.edu Abstract. There are
More informationModel Checking. Dragana Cvijanovic
Model Checking Dragana Cvijanovic d.cvijanovic@cs.ucl.ac.uk 1 Introduction Computerised systems pervade more and more our everyday lives. Digital technology is now used to supervise critical functions
More informationModel-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1.
More informationOn Nested Depth First Search
DIMACS Series in Discrete Mathematics and Theoretical Computer Science Volume 32, 1997 On Nested Depth First Search Gerard J. Holzmann, Doron Peled, and Mihalis Yannakakis The SPIN. ABSTRACT. We show in
More informationM. Vardi IBM Almaden P. Wolper. M. Yannakakis AT&T Bell Labs
Appears in: Formal Methods in System Design, vol. 1, 1992, pp. 275--288. Memory-Efficient Algorithms for the Verification of Temporal Properties C. Courcoubetis Inst. of Comp. Sci., FORTH, Crete, Greece
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationMemory Efficient Algorithms for the Verification of Temporal Properties
Memory Efficient Algorithms for the Verification of Temporal Properties C. Courcoubetis Inst. of Comp. Sci. of Crete M. Vardi IBM Almaden P. Wolper Un. de Liège M. Yannakakis AT&T Bell Labs Abstract This
More informationScenario Graphs Applied to Security (Summary Paper)
Book Title Book Editors IOS Press, 2003 1 Scenario Graphs Applied to Security (Summary Paper) Jeannette M. Wing Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 US Abstract.
More informationGSTE is Partitioned Model Checking
GSTE is Partitioned Model Checking Roberto Sebastiani (rseba@dit.unitn.it) Dipartimento di Informatica e Telecomunicazioni, Università di Trento Eli Singerman (eli.singerman@intel.com) Intel Israel Design
More informationSpecification and Analysis of Real-Time Systems Using Real-Time Maude
Specification and Analysis of Real-Time Systems Using Real-Time Maude Peter Csaba Ölveczky1,2 and José Meseguer 1 1 Department of Computer Science, University of Illinois at Urbana-Champaign 2 Department
More informationFormal Methods for Software Development
Formal Methods for Software Development Model Checking with Temporal Logic Wolfgang Ahrendt 21st September 2018 FMSD: Model Checking with Temporal Logic /GU 180921 1 / 37 Model Checking Check whether a
More informationA Novel Approach for Software Property Validation
A Novel Approach for Software Property Validation Salamah Salamah Department of Computer and Software Engineering, Embry-Riddle Aeronautical University, salamahs@erau.edu. Irbis Gallegos, Omar Ochoa Computer
More informationModel-Checking Concurrent Systems
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang
More informationModel Checking of Hierarchical State Machines
Model Checking of Hierarchical State Machines RAJEEV ALUR University of Pennsylvania and Bell Laboratories and MIHALIS YANNAKAKIS Bell Laboratories Model checking is emerging as a practical tool for detecting
More informationMonitoring Interfaces for Faults
Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each
More informationcontaining such cycles will not satisfy the eventuality property, thus, we will be unable to derive its correctness for the concrete model. A common w
A Heuristic for the Automatic Generation of Ranking Functions Λ Dennis Dams z Rob Gerth x Orna Grumberg Abstract The duality between invariance and progress is fundamental in proof techniques for the verification
More informationerics: A Tool for Verifying Timed Automata and Estelle Specifications
erics: A Tool for Verifying Timed Automata and Estelle Specifications Piotr Dembiński, Agata Janowska, Pawe l Janowski, Wojciech Penczek,5, Agata Pó lrola, Maciej Szreter,Bożena Woźna 4, and Andrzej Zbrzezny
More informationObtaining Memory-Efficient Reachability Graph Representations Using the Sweep-Line Method
Obtaining Memory-Efficient Reachability Graph Representations Using the Sweep-Line Method Thomas Mailund and Michael Westergaard Department of Computer Science, University of Aarhus, IT-parken, Aabogade
More informationAn Automata-Theoretic Approach to Presburger Arithmetic Constraints (Extended Abstract)
An Automata-Theoretic Approach to Presburger Arithmetic Constraints (Extended Abstract) Pierre Wolper and Bernard Boigelot Université de Liège, Institut Montefiore, B28, 4000 Liège Sart Tilman, Belgium.
More informationNuSMV 2: An OpenSource Tool for Symbolic Model Checking
NuSMV 2: An OpenSource Tool for Symbolic Model Checking Alessandro Cimatti, Edmund Clarke, Enrico Giunchiglia, Fausto Giunchiglia, Marco Pistore, Marco Roveri, Roberto Sebastiani, and Armando Tacchella
More informationTemporal Logic Motion Planning for Mobile Robots
Temporal Logic Motion Planning for Mobile Robots Georgios E. Fainekos, Hadas Kress-Gazit and George J. Pappas GRASP Laboratory, Departments of ESE and CIS University of Pennsylvania Philadelphia, PA 19104,
More informationThe ForSpec Temporal Logic: A New Temporal Property-Specification Language
The ForSpec Temporal Logic: A New Temporal Property-Specification Language Roy Armoni ½, Limor Fix ½, Alon Flaisher ½, Rob Gerth ¾, Boris Ginsburg, Tomer Kanza ½, Avner Landver ½, Sela Mador-Haim ½, Eli
More informationMore on Verification and Model Checking
More on Verification and Model Checking Wednesday Oct 07, 2015 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/60 Course fair! 2/60 Exam st October 21, 8:00 13:00 If you want to participate,
More informationKRATOS A Software Model Checker for SystemC
KRATOS A Software Model Checker for SystemC A. Cimatti, A. Griggio, A. Micheli, I. Narasamdya, and M. Roveri Fondazione Bruno Kessler Irst {cimatti,griggio,amicheli,narasamdya,roveri}@fbk.eu Abstract.
More informationNuSMV 2: An OpenSource Tool for Symbolic Model Checking
Carnegie Mellon University Research Showcase @ CMU Computer Science Department School of Computer Science 2002 NuSMV 2: An OpenSource Tool for Symbolic Model Checking Alessandro Cimatti ITC-IRST Edmund
More informationPredicate Abstraction of ANSI C Programs using SAT Λ
Predicate Abstraction of ANSI C Programs using SAT Λ Edmund Clarke and Daniel Kroening and Natalia Sharygina and Karen Yorav School of Computer Science Carnegie Mellon University, Pittsburgh, PA, USA Software
More informationSyntactic Optimizations for PSL Verification
Syntactic Optimizations for PSL Verification Alessandro Cimatti, Marco Roveri, and Stefano Tonetta 2 ITC-irst Trento, Italy {cimatti,roveri}@itc.it 2 University of Lugano, Lugano, Switzerland tonettas@lu.unisi.ch
More informationModeling and Verification of Marine Equipment Systems Using a Model Checker
Modeling and Verification of Marine Equipment Systems Using a Model Checker Shunsuke YAO Hiroaki AWANO Yasushi HIRAOKA Kazuko TAKAHASHI Abstract We discuss the modeling and verification of marine equipment
More informationUsing Counterexample Analysis to Minimize the Number of Predicates for Predicate Abstraction
Using Counterexample Analysis to Minimize the Number of Predicates for Predicate Abstraction Thanyapat Sakunkonchak, Satoshi Komatsu, and Masahiro Fujita VLSI Design and Education Center, The University
More informationA Case Study for CTL Model Update
A Case Study for CTL Model Update Yulin Ding and Yan Zhang School of Computing & Information Technology University of Western Sydney Kingswood, N.S.W. 1797, Australia email: {yding,yan}@cit.uws.edu.au
More information38050 Povo (Trento), Italy Tel.: Fax: e mail: url:
CENTRO PER LA RICERCA SCIENTIFICA E TECNOLOGICA 38050 Povo (Trento), Italy Tel.: +39 061 31312 Fax: +39 061 30200 e mail: prdoc@itc.it url: http://www.itc.it SYMBOLIC MODEL CHECKING FOR MULTI AGENT SYSTEMS
More informationTo be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability
More informationSimulink Design Verifier vs. SPIN a Comparative Case Study
Simulink Design Verifier vs. SPIN a Comparative Case Study Florian Leitner and Stefan Leue Department of Computer and Information Science University of Konstanz, Germany {Florian.Leitner,Stefan.Leue}@uni-konstanz.de
More informationSystem Correctness. EEC 421/521: Software Engineering. System Correctness. The Problem at Hand. A system is correct when it meets its requirements
System Correctness EEC 421/521: Software Engineering A Whirlwind Intro to Software Model Checking A system is correct when it meets its requirements a design without requirements cannot be right or wrong,
More informationModel Checking with Automata An Overview
Model Checking with Automata An Overview Vanessa D Carson Control and Dynamical Systems, Caltech Doyle Group Presentation, 05/02/2008 VC 1 Contents Motivation Overview Software Verification Techniques
More informationPet: An Interactive Software Testing Tool
Pet: An Interactive Software Testing Tool Elsa Gunter, Robert Kurshan, and Doron Peled Bell Laboratories 600 Mountain Ave. Murray Hill, NJ 07974 Abstract. We describe here the Pet (standing for path exploration
More informationPast Pushdown Timed Automata and Safety Verification
Past Pushdown Timed Automata and Safety Verification Zhe Dang, Tevfik Bultan, Oscar H. Ibarra, and Richard A. Kemmerer Abstract We consider past pushdown timed automata that are discrete pushdown timed
More informationModeling Interactions of Web Software
Modeling Interactions of Web Software Tevfik Bultan Department of Computer Science University of California Santa Barbara, CA 9106 bultan@cs.ucsb.edu Abstract Modeling interactions among software components
More informationLeveraging DTrace for runtime verification
Leveraging DTrace for runtime verification Carl Martin Rosenberg June 7th, 2016 Department of Informatics, University of Oslo Context: Runtime verification Desired properties System Every request gets
More informationRECENT advances in the development of portable devices
Specifying a Timestamp-based Protocol For Multi-step Transactions Using LTL Rafat Alshorman, Walter Hussak International Science Index, Computer and Information Engineering Vol:4, No:11, 2010 wasetorg/publication/3317
More informationMOCHA: Modularity in Model Checking??? Computing Science Research Center, Bell Laboratories.
MOCHA: Modularity in Model Checking??? R. Alur 1, T.A. Henzinger 2, F.Y.C. Mang 2, S. Qadeer 2, S.K. Rajamani 2, and S. Tasiran 2 1 Computer & Information Science Department, University ofpennsylvania,
More informationYang 1;3. Abstract. Fair-cycle detection, a core problem in model checking, is. representation. Existing cycle-detection algorithms for symbolic
Is There a Best Symbolic Cycle-Detection Algorithm? Kathi Fisler 1;4, Ranan Fraer 2, Gila Kamhi 2, Moshe Y. Vardi 1?, and Zijiang Yang 1;3 1 Department of Computer Science, Rice University, Houston, TX,
More informationFormal Methods in Software Engineering. Lecture 07
Formal Methods in Software Engineering Lecture 07 What is Temporal Logic? Objective: We describe temporal aspects of formal methods to model and specify concurrent systems and verify their correctness
More informationAutomatic Abstraction without Counterexamples
Automatic Abstraction without Counterexamples Kenneth L. McMillan and Nina Amla Cadence Design Systems Abstract. A method of automatic abstraction is presented that uses proofs of unsatisfiability derived
More informationOn Refinement of Büchi Automata for Explicit Model Checking
On Refinement of Büchi Automata for Explicit Model Checking František Blahoudek 1, Alexandre Duret-Lutz 2, Vojtěch Rujbr 1, and Jan Strejček 1 1 Faculty of Informatics, Masaryk University, Brno, Czech
More informationAction Language Verifier, Extended
Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language
More informationTowards Promela verification using VerICS
Part 2: Specification Towards Promela verification using VerICS Wojciech Nabia lek 1 and Pawe l Janowski 2 1 Institute of Computer Science, University of Podlasie ul. Sienkiewicza 51, 08-110 Siedlce, Poland
More informationModel Checking VHDL with CV
Model Checking VHDL with CV David Déharbe 1, Subash Shankar 2, and Edmund M. Clarke 2 1 Universidade Federal do Rio Grande do Norte, Natal, Brazil david@dimap.ufrn.br 2 Carnegie Mellon University, Pittsburgh,
More informationUtilizing Static Analysis for Programmable Logic Controllers
Sébastien Bornot Ralf Huuck Ben Lukoschus Lehrstuhl für Softwaretechnologie Universität Kiel Preußerstraße 1 9, D-24105 Kiel, Germany seb rhu bls @informatik.uni-kiel.de Yassine Lakhnech Verimag Centre
More informationFormal Tropos: language and semantics
Formal Tropos: language and semantics A. Fuxman R. Kazhamiakin M. Pistore M. Roveri Department of Computer Science, University of Toronto, Canada Department of Information and Communication Technology,
More informationKRATOS A Software Model Checker for SystemC
KRATOS A Software Model Checker for SystemC A. Cimatti, A. Griggio, A. Micheli, I. Narasamdya, and M. Roveri Fondazione Bruno Kessler Irst {cimatti,griggio,amicheli,narasamdya,roveri}@fbk.eu Abstract.
More informationAS concurrent users access and update databases in terms
A CTL Specification of Serializability for Transactions Accessing Uniform Data Rafat Alshorman, Walter Hussak Abstract Existing work in temporal logic on representing the execution of infinitely many transactions,
More informationSafe Stratified Datalog With Integer Order Does not Have Syntax
Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer
More informationDistributed Systems Programming (F21DS1) SPIN: Formal Analysis II
Distributed Systems Programming (F21DS1) SPIN: Formal Analysis II Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Introduce
More informationProving the Correctness of Distributed Algorithms using TLA
Proving the Correctness of Distributed Algorithms using TLA Khushboo Kanjani, khush@cs.tamu.edu, Texas A & M University 11 May 2007 Abstract This work is a summary of the Temporal Logic of Actions(TLA)
More informationAuto-Generating Test Sequences for Web Applications *
Auto-Generating Test Sequences for Web Applications * Hongwei Zeng and Huaikou Miao School of Computer Engineering and Science, Shanghai University, 200072, China zenghongwei@shu.edu.cn, hkmiao@shu.edu.cn
More informationFormal Verification of Safety I&C System Designs: Two Nuclear Power Plant Related Applications. Abstract
Formal Verification of Safety I&C System Designs: Two Nuclear Power Plant Related Applications Janne Valkonen 1, Matti Koskimies 2, Ville Pettersson 1, Keijo Heljanko 2, Jan-Erik Holmberg 1, Ilkka Niemelä
More informationF-Soft: Software Verification Platform
F-Soft: Software Verification Platform F. Ivančić, Z. Yang, M.K. Ganai, A. Gupta, I. Shlyakhter, and P. Ashar NEC Laboratories America, 4 Independence Way, Suite 200, Princeton, NJ 08540 fsoft@nec-labs.com
More informationSpecification Centered Testing
Specification Centered Testing Mats P. E. Heimdahl University of Minnesota 4-192 EE/CS Building Minneapolis, Minnesota 55455 heimdahl@cs.umn.edu Sanjai Rayadurgam University of Minnesota 4-192 EE/CS Building
More informationTIMES A Tool for Modelling and Implementation of Embedded Systems
TIMES A Tool for Modelling and Implementation of Embedded Systems Tobias Amnell, Elena Fersman, Leonid Mokrushin, Paul Pettersson, and Wang Yi Uppsala University, Sweden. {tobiasa,elenaf,leom,paupet,yi}@docs.uu.se.
More informationTHE MODEL CHECKER SPIN
THE MODEL CHECKER SPIN Shin Hong, KAIST 17 th April,2007 1/33 Contents Introduction PROMELA Linear Temporal Logic Automata-theoretic software verification Example : Simple Elevator 2 SPIN is a software
More informationNuSMV: a reimplementation of SMV. A. Cimatti, E. Clarke, F. Giunchiglia, M. Roveri
istituto per la ricerca scientifica e tecnologica 38050 Povo (Trento), Italy Tel.: + 39 461 314575 Fax: + 39 461 314591 e-mail: prdoc@itc.it url: http://www.itc.it NuSMV: a reimplementation of SMV A. Cimatti,
More informationSPOT: an Extensible Model Checking Library using Transition-based Generalized Büchi Automata
SPOT: an Extensible Model Checking Library using Transition-based Generalized Büchi Automata Alexandre Duret-Lutz and Denis Poitrenaud Laboratoire d Informatique de Paris 6, Université P. & M. Curie, 4
More informationDouble Header. Two Lectures. Flying Boxes. Some Key Players: Model Checking Software Model Checking SLAM and BLAST
Model Checking #1 Double Header Two Lectures Model Checking Software Model Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation
More informationSimple On-the-fly Automatic Verification of Linear Temporal Logic
Simple On-the-fly Automatic Verification of Linear Temporal Logic Rob Gerth Technical University Eindhoven Den Dolech 2, Eindhoven The Netherlands robg@win.tue.nl Moshe Y. Vardi Rice University Department
More information38050 Povo (Trento), Italy Tel.: Fax: e mail: url:
CENTRO PER LA RICERCA SCIENTIFICA E TECNOLOGICA 38050 Povo (Trento), Italy Tel.: +39 0461 314312 Fax: +39 0461 302040 e mail: prdoc@itc.it url: http://www.itc.it PLANNING AS MODEL CHECKING FOR EXTENDED
More informationThe Hanoi Omega-Automata Format
The Hanoi Omega-Automata Format Tomáš Babiak 1, František Blahoudek 1, Alexandre Duret-Lutz 2, Joachim Klein 3, Jan Křetínský 5, David Müller 3, David Parker 4, and Jan Strejček 1 1 Faculty of Informatics,
More informationAutomata Theory for Reasoning about Actions
Automata Theory for Reasoning about Actions Eugenia Ternovskaia Department of Computer Science, University of Toronto Toronto, ON, Canada, M5S 3G4 eugenia@cs.toronto.edu Abstract In this paper, we show
More informationLecture 1: Model Checking. Edmund Clarke School of Computer Science Carnegie Mellon University
Lecture 1: Model Checking Edmund Clarke School of Computer Science Carnegie Mellon University 1 Cost of Software Errors June 2002 Software bugs, or errors, are so prevalent and so detrimental that they
More informationLecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking
CS 267: Automated Verification Lecture 10: Nested Depth First Search, Counter- Example Generation Revisited, Bit-State Hashing, On-The-Fly Model Checking Instructor: Tevfik Bultan Buchi Automata Language
More informationFormal Verification of Temporal Questions in the Context of Query-Answering Text Summarization
Formal Verification of Temporal Questions in the Context of Query-Answering Text Summarization Nasrin Mostafazadeh 1, Omid Bakhshandeh Babarsad 2, and Gholamreza Ghassem-Sani 1 1 Sharif University of Technology,
More informationMAVEN: modular aspect verification and interference analysis
Form Methods Syst Des (2010) 37: 61 92 DOI 10.1007/s10703-010-0101-1 MAVEN: modular aspect verification and interference analysis Max Goldman Emilia Katz Shmuel Katz Received: 22 November 2009 / Accepted:
More informationModel-checking with the TimeLine formalism
Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software
More informationPARTY Parameterized Synthesis of Token Rings
PARTY Parameterized Synthesis of Token Rings Ayrat Khalimov, Swen Jacobs, and Roderick Bloem Graz University of Technology, Austria Abstract. Synthesis is the process of automatically constructing an implementation
More informationPARTY Parameterized Synthesis of Token Rings
PARTY Parameterized Synthesis of Token Rings Ayrat Khalimov, Swen Jacobs, and Roderick Bloem Graz University of Technology, Austria Abstract. Synthesis is the process of automatically constructing an implementation
More informationBOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction
BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction Peer Johannsen Siemens AG, Corporate Technology, Design Automation, CT SE 4 81730 Munich, Germany peer.johannsen@mchp.siemens.de
More informationFormal Verification: Practical Exercise Model Checking with NuSMV
Formal Verification: Practical Exercise Model Checking with NuSMV Jacques Fleuriot Daniel Raggi Semester 2, 2017 This is the first non-assessed practical exercise for the Formal Verification course. You
More informationCuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers
Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Isil Dillig, Thomas Dillig, and Alex Aiken Computer Science Department Stanford University Linear Arithmetic
More informationInterpolation-based Software Verification with Wolverine
Interpolation-based Software Verification with Wolverine Daniel Kroening 1 and Georg Weissenbacher 2 1 Computer Science Department, Oxford University 2 Department of Electrical Engineering, Princeton University
More informationT Reactive Systems: Kripke Structures and Automata
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system
More informationEfficient Planning with State Trajectory Constraints
Efficient Planning with State Trajectory Constraints Stefan Edelkamp Baroper Straße 301 University of Dortmund email: stefan.edelkamp@cs.uni-dortmund.de Abstract. This paper introduces a general planning
More informationTimo Latvala. January 28, 2004
Reactive Systems: Kripke Structures and Automata Timo Latvala January 28, 2004 Reactive Systems: Kripke Structures and Automata 3-1 Properties of systems invariants: the system never reaches a bad state
More informationLTL Model Checking for Systems with Unbounded Number of Dynamically Created Threads and Objects
LTL Model Checking for Systems with Unbounded Number of Dynamically Created Threads and Objects Eran Yahav 1, Thomas Reps 2, and Mooly Sagiv 1 1 School of Comp. Sci., Tel-Aviv Univ., Tel-Aviv 69978, {yahave,sagiv}@math.tau.ac.il
More informationBehavioural Equivalences and Abstraction Techniques. Natalia Sidorova
Behavioural Equivalences and Abstraction Techniques Natalia Sidorova Part 1: Behavioural Equivalences p. p. The elevator example once more How to compare this elevator model with some other? The cabin
More informationBDD-Based Software Model Checking with CPAchecker
BDD-Based Software Model Checking with CPAchecker Dirk Beyer and Andreas Stahlbauer University of Passau, Germany Abstract. In symbolic software model checking, most approaches use predicates as symbolic
More informationA Multi-Encoding Approach for LTL Symbolic Satisfiability Checking
A Multi-Encoding Approach for LTL Symbolic Satisfiability Checking Kristin Y. Rozier 12 and Moshe Y. Vardi 2 1 NASA Ames Research Center, Moffett Field CA, 94035, USA. Kristin.Y.Rozier@nasa.gov, http://ti.arc.nasa.gov/profile/kyrozier/
More informationModel checking pushdown systems
Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationA Test Case Generation Algorithm for Real-Time Systems
A Test Case Generation Algorithm for Real-Time Systems Anders Hessel and Paul Pettersson Department of Information Technology Uppsala University, P.O. Box 337 SE-751 05 Uppsala, Sweden {hessel,paupet}@it.uu.se
More information