Overview of ComFoRT: A Model Checking Reasoning Framework

Abstract : Component technologies are gaining acceptance in the software community as effective tools to quickly assemble increasingly complex systems from components. Most of the current component technologies, however, fail to help developers predict important software qualities like performance, safety, and reliability. A prediction-enabled component technology (PECT) augments the capabilities of a component technology with one or more reasoning frameworks that package quality-specific analyses and the means to apply them to component-based systems. Model checking is an automated approach for exhaustively analyzing whether systems satisfy specific behavioral claims that can be used to characterize safety and reliability requirements. This technical note describes ComFoRT, a reasoning framework that packages the effectiveness of state-of-the-art model checking in a form that enables users to apply the analysis technique without being experts in its use, and its incorporation in a PECT.

[1]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[2]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[3]  Kurt C. Wallnau,et al.  Volume III: A Technology for Predictable Assembly from Certifiable Components , 2003 .

[4]  Kenneth L. McMillan,et al.  Verification of an Implementation of Tomasulo's Algorithm by Compositional Model Checking , 1998, CAV.

[5]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[6]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[7]  Joël Ouaknine,et al.  Automated Compositional Abstraction Refinement for Concurrent C Programs: A Two-Level Approach , 2003, SoftMC@CAV.

[8]  Magdy S. Abadir,et al.  Formal Verification Successes at Motorola , 2003, Formal Methods Syst. Des..

[9]  Thomas A. Henzinger,et al.  Reactive Modules , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[10]  Amir Pnueli,et al.  Control and data abstraction: the cornerstones of practical formal verification , 2000, International Journal on Software Tools for Technology Transfer.

[11]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[12]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[13]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[14]  E. A. Simulation-Based Verification of Autonomous Controllers via Livingstone PathFinder , 2004 .

[15]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[16]  Andreas Podelski,et al.  Tools and algorithms for the construction and analysis of systems , 2006, International Journal on Software Tools for Technology Transfer.

[17]  David M. Russinoff A Mechanically Checked Proof of IEEE Compliance of the Floating Point Multiplication, Division and Square Root Algorithms of the AMD-K7™ Processor , 1998, LMS J. Comput. Math..

[18]  Joël Ouaknine,et al.  Automated, compositional and iterative deadlock detection , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[19]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[20]  Shoham Ben-David,et al.  Model Checking at IBM , 2003, Formal Methods Syst. Des..

[21]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[22]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[23]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[24]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[25]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.

[26]  John Penix,et al.  Formal Analysis of the Remote Agent Before and After Flight , 2000 .

[27]  Sriram K. Rajamani,et al.  SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft , 2004, IFM.

[28]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[29]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[30]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

[31]  Avi Ziv Cross-product functional coverage measurement with temporal properties-based assertions [logic verification] , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[32]  Charles Pecheur,et al.  Formal Verification for a Next-Generation Space Shuttle , 2002, FAABS.

[33]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[34]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[35]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[36]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[37]  Santiago Comella-Dorda,et al.  Volume II: Technical Concepts of Component-Based Software Engineering , 2000 .

[38]  Satish Chandra,et al.  Software model checking in practice: an industrial case study , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[39]  James Ivers,et al.  Preserving Real Concurrency , 2003 .

[40]  Thomas A. Henzinger,et al.  Decomposing refinement proofs using assume-guarantee reasoning , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[41]  Rob Gerth Model checking if your life depends on it: a view from Intel's trenches , 2001, SPIN '01.

[42]  James Ivers,et al.  Snapshot of CCL: A Language for Predictable Assembly , 2003 .

[43]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[44]  Alex Groce,et al.  Predicate Abstraction with Minimum Predicates , 2003, CHARME.

[45]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[46]  Patrice Godefroid,et al.  Model checking for programming languages using VeriSoft , 1997, POPL '97.

[47]  Sofiène Tahar,et al.  Model checking of the Fairisle ATM switch fabric using FormalCheck , 2001, Canadian Conference on Electrical and Computer Engineering 2001. Conference Proceedings (Cat. No.01TH8555).