Proceedings of the First NASA Formal Methods Symposium
Total Page:16
File Type:pdf, Size:1020Kb
NASA/CP-2009-215407 Proceedings of the First NASA Formal Methods Symposium Edited by Ewen Denney Dimitra Giannakopoulou Corina S. Păsăreanu NASA Ames Research Center April 2009 NASA/CP-2009-215407 Proceedings of the First NASA Formal Methods Symposium Edited by Ewen Denney Dimitra Giannakopoulou Corina S. Păsăreanu NASA Ames Research Center National Aeronautics and Space Administration Ames Research Center Moffett Field, California April 2009 Preface This NASA conference publication contains the proceedings of the First NASA Formal Methods Symposium (NFM 2009), held at the NASA Ames Research Center, in Moffett Field, CA, USA, on April 6 – 8, 2009. NFM 2009 is a forum for theoreticians and practitioners from academia and industry, with the goals of identifying challenges and providing solutions to achieving assurance in safety-critical systems. Within NASA, for example, such systems include autonomous robots, separation assurance algorithms for aircraft, and autonomous rendezvous and docking for spacecraft. Moreover, emerging paradigms such as code generation and safety cases are bringing with them new challenges and opportunities. The focus of the symposium is on formal techniques, their theory, current capabilities, and limitations, as well as their application to aerospace, robotics, and other safety-critical systems. The NASA Formal Methods Symposium is a new annual event intended to highlight the state of formal methods’ art and practice. It follows the earlier Langley Formal Methods Workshop series and aims to foster collaboration between NASA researchers and engineers, as well as the wider aerospace, safety-critical and formal methods communities. The specific topics covered by NFM 2009 included but were not limited to: formal verification, including theorem proving, model checking, and static analysis; automated testing and simulation tech- niques; model-based development; techniques and algorithms for scaling formal methods, such as ab- straction and symbolic methods, compositional techniques, as well as parallel and/or distributed tech- niques; code generation; safety cases; accident/safety analysis; formal approaches to fault tolerance; theoretical advances and empirical evaluations of formal methods techniques for safety-critical systems, including hybrid and embedded systems. We considered two types of papers: regular papers describe fully developed work and complete results, and short papers describe interesting work in progress and/or preliminary results. Both categories must describe original work that has not been published elsewhere. We received 47 submissions (26 long papers and 19 short papers) out of which 22 were accepted (14 long, 8 short). All submissions went through a rigorous reviewing process, where each paper received a minimum of 3 reviews. The program selection was performed through an electronic Program Committee meeting. In addition to the refereed papers, the symposium featured five invited talks given by Ed Clarke (CMU, Turing Award 2007) on Model Checking – My 27-year Quest to Overcome the State Explosion Problem, Bill Othon (NASA JSC) on Applying Formal Methods to NASA Projects: Transition from Research to Practice, Leslie Lamport (MSR) on TLA+: Whence, Wherefore, and Whither, Todd Farley (NASA Ames) on Formal Methods Applications in Air Transportation, and John O’Leary (Intel) on TITLE. The program also included a panel discussion on Formal Methods meet NASA needs that was chaired by Mats Heimdahl (U. Minnesota). We would like to thank the program committee members and the external reviewers for their contri- bution in paper selection, and the NFM Organizing Committee for its support in setting up this event. Thanks also go to Allen Dutra, Domenico Bianculli, and Chris Fattarsi for their help with the NFM 2009 local organization and to Geoff Sutcliffe for help with the EasyChair style files. Finally, we thank SGT, in particular Larry Markosian, and CMU West, in particular Jim Morris, for their support. The NFM 2009 website can be found at http://ti.arc.nasa.gov/event/nfm09/. April 2009 Ewen Denney Dimitra Giannakopoulou Corina Pas˘ areanu˘ NFM 2009 Chairs iii Conference Organization General Chairs Ewen Denney, SGT/NASA Ames Dimitra Giannakopoulou, CMU/NASA Ames Corina S. Pas˘ areanu,˘ CMU/NASA Ames Program Committee Gilles Barthe, IMDEA, Madrid Guillaume Brat, NASA Ames Ricky Butler, NASA Langley Charles Consel, INRIA, Bordeaux Krzysztof Czarnecki, U. Waterloo Luca de Alfaro, UC Santa Cruz Ben Di Vito, NASA Langley Matt Dwyer, U. Nebraska Martin Feather, JPL Klaus Havelund, JPL Mats Heimdahl, U. Minnesota Gerard Holzmann, JPL John Kelly, NASA HQ Mike Lowry, NASA Ames John Matthews, Galois Inc. Cesar´ Munoz,˜ NASA Langley John Penix, Google Kristin Yvonne Rozier, NASA Ames Wolfram Schulte, Microsoft Research Koushik Sen, UC Berkeley Natarajan Shankar, SRI Doug Smith, Kestrel Institute Mike Whalen, Rockwell Collins Organizing Committee Ewen Denney, NASA Ames Ben Di Vito, NASA Langley Dimitra Giannakopoulou, NASA Ames Klaus Havelund, JPL Gerard Holzmann, JPL Cesar´ Munoz,˜ NASA Langley Corina S. Pas˘ areanu,˘ NASA Ames James Rash, NASA Goddard Kristin Yvonne Rozier, NASA Ames iv External Reviewers Michal Antkiewicz Thiago Bartolomei Jacob Burnim Zinovy Diskin Alwyn Goodloe Ethan Jackson Nicholas Jalbert Pallavi Joshi Sudeep Juvekar Herman Lee Chang-Seo Park Christos Stergiou v Table of Contents Invited Talks I1. Ed Clarke. Model Checking – My 27-year Quest to Overcome the State Explosion Problem 1 I2. Bill Othon. Applying Formal Methods to NASA Projects: Transition from Research to Practice . 2 I3. Leslie Lamport. TLA+: Whence, Wherefore, and Whither . 3 I4. Todd Farley. Formal Methods Applications in Air Transportation . 4 I5. John O’Leary. Theorem Proving in Intel Hardware Design . 5 Model Checking: Techniques and Applications 1. Matthew Bolton and Ellen Bass. Building a Formal Model of a Human-interactive System: Insights into the Integration of Formal Methods and Human Factors Engineering . 6 2. Emil Vassev, Mike Hinchey and Aaron Quigley. Model Checking for Autonomic Systems Specified with ASSL . 16 3. Yi Wang and Tetsuo Tamai. A Game-Theoretic Approach to Branching Time Abstract- Check-Refine Process . 26 4. Sagar Chaki and James Ivers. Software Model Checking without Source Code . 36 Symbolic Execution and Testing 5. Suzette Person and Matthew Dwyer. Generalized Abstract Symbolic Summaries for Differ- encing Heap-manipulating Programs . 46 6. Mitsuo Takaki, Diego Cavalcanti, Rohit Gheyi, Juliano Iyoda, Marcelo d’Amorim and Ricardo Prudencio.ˆ A Comparative Study of Randomized Constraint Solvers for Random- Symbolic Testing . 56 Design and Specification 7. Tiziana Margaria, Marco Bakera, Christian Wagner, Emil Vassev, Michael Hinchey and Bernhard Steffen. Component-Oriented Behavior Extraction for Autonomic System Design 66 8. Jonathan Nicholson, Epameinondas Gasparis, Amnon Eden and Rick Kazman. Automated Verification of Design Patterns with LePUS3 . 76 9. Yann Glouche, Jean-Pierre Talpin, Paul Le Guernic and Thierry Gautier. A module lan- guage for typing by contracts . 86 10. Benjamin Aziz, Alvaro Arenas, Juan Bicarregui, Christophe Ponsard and Philippe Mas- sonet. From Goal-Oriented Requirements to Event-B Specifications . 96 Analysis: Evaluations and New Developments (Short Papers) 11. Watcharin Leungwattanakit, Cyrille Valentin Artho, Masami Hagiya, Yoshinori Tanabe and Mitsuharu Yamamoto. Introduction of Virtualization Technology to Multi-Process Model Checking . 106 12. David Cachera and David Pichardie. Comparing Techniques for Certified Static Analysis 111 13. Matt Staats. Towards a Framework for Generating Tests to Satisfy Complex Code Cover- age in Java Pathfinder . 116 14. Karthick Jayaraman, David Harvison, Vijay Ganesh and Adam Kiezun. jFuzz: A Concolic Whitebox Fuzzer for Java . 121 vi Deductive Verification 15. Thomas Gothel¨ and Sabine Glesner. Machine-Checkable Timed CSP . 126 16. Marc Daumas, Erik Martin-Dorel, David Lester and Annick Truffert. Stochastic Formal Methods for Hybrid Systems . 136 17. Manuel Barbosa, Jose´ Bacelar Almeida, Jorge Sousa Pinto and Barbara´ Vieira. Deductive Verification of Cryptographic Software . 146 18. Christine Choppy, Micaela Mayero and Laure Petrucci. Coloured Petri net refinement specification, and correctness proof with Coq . 156 Modeling and Synthesis (Short Papers) 19. Alessio Ferrari, Alessandro Fantechi, Stefano Bacherini and Niccolo´ Zingoni. Modeling Guidelines for Code Generation in the Railway Signaling Context . 166 20. Srinivas Nedunuri, William Cook and Douglas Smith. Tactical Synthesis of Efficient Global Search Algorithms . 171 21. Manuela Luminita Bujorianu and Marius Bujorianu. Towards Co-Engineering Communi- cating Autonomous Cyber-physical Systems . 176 22. Juhan Ernits, Richard Dearden and Miles Pebody. Formal Methods for Automated Diag- nosis of Autosub 6000 . 181 vii Model Checking – My 27-year Quest to Overcome the State Explosion Problem Ed Clarke Computer Science Department, Carnegie Mellon University Pittsburgh, PA Turing Award 2007 Abstract Model Checking is an automatic verification technique for state-transition systems that are finite- state or that have finite-state abstractions. In the early 1980’s in a series of joint papers with my graduate students E.A. Emerson and A.P. Sistla, we proposed that Model Checking could be used for verifying concurrent systems and gave algorithms for this purpose. At roughly the same time, Joseph Sifakis and his student J.P. Queille at the University of Grenoble independently developed