Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Proceedings of the Fourth Annual Symposium on Logic in computer science
Design and validation of computer protocols
Design and validation of computer protocols
Specification-based test oracles for reactive systems
ICSE '92 Proceedings of the 14th international conference on Software engineering
A concurrency analysis tool suite for Ada programs: rationale, design, and preliminary experience
ACM Transactions on Software Engineering and Methodology (TOSEM)
Context constraints for compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
User interface development and software environments: the Chiron-1 system
ICSE '91 Proceedings of the 13th international conference on Software engineering
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Verification of liveness properties using compositional reachability analysis
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Checking safety properties using compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Designing executable abstractions
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A note on reliable full-duplex transmission over half-duplex links
Communications of the ACM
Symbolic Model Checking
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Refactoring design models for inductive verification
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Evaluating Deadlock Detection Methods for Concurrent Software
IEEE Transactions on Software Engineering
Compositional Minimization of Finite State Systems
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Comparing Finite-State Verification Techniques for Concurrent Software
Comparing Finite-State Verification Techniques for Concurrent Software
Towards scalable compositional analysis by refactoring design models
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Hi-index | 0.00 |
Recently, an active research topic in software verification is applying model checkers to programs, such as multi-threaded Java code. However, a program typically consists of more behaviors, such as operations on complicated data structures or implementation details which are typically made for some criteria like performance. A brute-force model extraction may produce a poor model for analysis engine. In this paper, we give examples to show how subtle changes in implementation may result in considerable differences in analysis, particularly to compositional analysis. Unfortunately, these implementation choices are made by programmers – people who typically do not possess the knowledge of verification. To mitigate such sensitivity, we advocate that verification tools should recognize and support abstract data types and, in the meantime, prohibit or suppress the use of array. Programming process behaviors with abstract data types can hide and converge the implementation choices. More importantly, abstract data types are informative. They provide essential information for tool automation to select a best implementation for analysis. In this paper, we describe the design and implementation of such a prototype tool which can parse systems written in Promela syntax.