The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Abstract interpretation of reactive systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Logic in computer science: modelling and reasoning about systems
Logic in computer science: modelling and reasoning about systems
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Verifying safety properties of concurrent Java programs using 3-valued logic
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Program Analysis
Principles of Program Analysis
Modularization and Abstraction: The Keys to Practical Formal Verification
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
Logic Verification of ANSI-C Code with SPIN
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
alpha SPIN: Extending SPIN with Abstraction
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
Finding Feasible Counter-examples when Model Checking Abstracted Java Programs
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Computing Abstractions of Infinite State Systems Compositionally and Automatically
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Abstraction and modular reasoning for the verification of software
Abstraction and modular reasoning for the verification of software
A semantic framework for the abstract model checking of tccp programs
Theoretical Computer Science - Quantitative aspects of programming languages (QAPL 2004)
PiXL: Applying xml standards to support the integration of analysis tools for protocols
Science of Computer Programming
An abstract interpretation toolkit for μCRL
Formal Methods in System Design
On The Evolution Of Reliability Methods For Critical Software
Journal of Integrated Design & Process Science - Applications of formal methods
A Perspective on Program Verification
Verified Software: Theories, Tools, Experiments
SSS '08 Proceedings of the 10th International Symposium on Stabilization, Safety, and Security of Distributed Systems
Abstract Model Checking of tccp programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Integration of Reliability and Performance Analyses for Active Network Services
Electronic Notes in Theoretical Computer Science (ENTCS)
An Abstract Interpretation Toolkit for μCRL
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the IEEE/ACM international conference on Automated software engineering
Hi-index | 0.00 |
Current research is demonstrating that model-checking and other forms of automated finite-state verification can be effective for checking properties of software systems. Due to the exponential costs associated with model-checking, multiple forms of abstraction are often necessary to obtain system models that are tractable for automated checking.The Bandera Tool Set provides multiple forms of automated support for compiling concurrent Java software systems to models that can be supplied to several different model-checking tools. In this paper, we describe the foundations of Bandera's data abstraction mechanism which is used to reduce the cardinality (and the program's state-space) of data domains in software to be model-checked. From a technical standpoint, the form of data abstraction used in Bandera is simple, and it is based on classical presentations of abstract interpretation. We describe the mechanisms that Bandera provides for declaring abstractions, for attaching abstractions to programs, and for generating abstracted programs and properties. The contributions of this work are the design and implementation of various forms of tool support required for effective application of data abstraction to software components written in a programming language like Java which has a rich set of linguistic features.