Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Software engineering: planning for change
Software engineering: planning for change
Version control in the Inscape environment
ICSE '87 Proceedings of the 9th international conference on Software Engineering
ICSE '89 Proceedings of the 11th international conference on Software engineering
Cesar: a static sequencing constraint analyzer
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
The logic of propagation in the inscape environment
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
STATEMATE: A Working Environment for the Development of Complex Reactive Systems
IEEE Transactions on Software Engineering
Cecil: A Sequencing Constraint Language for Automatic Static Analysis Generation
IEEE Transactions on Software Engineering
Comments Analysis and Programming Errors
IEEE Transactions on Software Engineering
Interprocedural static analysis of sequencing constraints
ACM Transactions on Software Engineering and Methodology (TOSEM)
Program verification via abstraction using incremental operational specifications
Program verification via abstraction using incremental operational specifications
Practical methods for the formal validation of SDL specifications
Computer Communications - Special issue on practical use of FDTs in communications & distributed systems
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Automated analysis of software requirements
Automated analysis of software requirements
Aspect: a formal specification language for detecting bugs
Aspect: a formal specification language for detecting bugs
Model checking and abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic verification of requirements implementation
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Simulating the Behavior of Software Modules by Trace Rewriting
IEEE Transactions on Software Engineering
Requirements Specification for Process-Control Systems
IEEE Transactions on Software Engineering
Computer-aided verification of coordinating processes: the automata-theoretic approach
Computer-aided verification of coordinating processes: the automata-theoretic approach
LCLint: a tool for using specifications to check code
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Verification of the Futurebus+ cache coherence protocol
Formal Methods in System Design - Special issue on symbolic model checking
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Functional documents for computer systems
Science of Computer Programming
Model checking software systems: a case study
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Automatic analysis of consistency between implementations and requirements
Automatic analysis of consistency between implementations and requirements
Linear and structural event sequence analysis
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Elements of style: analyzing a software design feature with a counterexample detector
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Static detection of dynamic memory errors
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Formally Verified On-Line Diagnosis
IEEE Transactions on Software Engineering
Experiences Using Lightweight Formal Methods for Requirements Modeling
IEEE Transactions on Software Engineering
IFIP TC6/ 6.1 international conference on formal description techniques IX/protocol specification, testing and verification XVI on Formal description techniques IX : theory, application and tools: theory, application and tools
Designing executable abstractions
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
Model Checking Complete Requirements Specifications Using Abstraction
Automated Software Engineering
State-Based Model Checking of Event-Driven System Requirements
IEEE Transactions on Software Engineering
QDA - A Method for Systematic Informal Program Analysis
IEEE Transactions on Software Engineering
Model Checking Large Software Specifications
IEEE Transactions on Software Engineering
Protocol Verification as a Hardware Design Aid
ICCD '92 Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer & Processors
Specification and Verification of a Sliding Window Protocol in LOTOS
FORTE '91 Proceedings of the IFIP TC6/WG6.1 Fourth International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols: Formal Description Techniques, IV
Model Checking and Modular Verification
CONCUR '91 Proceedings of the 2nd International Conference on Concurrency Theory
Proceedings of the 17th Conference on Foundations of Software Technology and Theoretical Computer Science
SCR*: A Toolset for Specifying and Analyzing Software Requirements
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Verifying the SRT Division Algorithm Using Theorem Proving Techniques
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
MPC '95 Mathematics of Program Construction
SC(R)3: towards usability of formal methods
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
Consistency checking of SCR-style requirements specifications
RE '95 Proceedings of the Second IEEE International Symposium on Requirements Engineering
Generating Code from Hierarchical State-Based Requirements
RE '97 Proceedings of the 3rd IEEE International Symposium on Requirements Engineering
Automated analysis of cryptographic protocols using Mur/spl phi/
SP '97 Proceedings of the 1997 IEEE Symposium on Security and Privacy
State determination in hard-embedded systems
State determination in hard-embedded systems
Automatic analysis of consistency between requirements and designs
Automatic analysis of consistency between requirements and designs
Using the observer design pattern for implementation of data flow analyses
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A Specification-Oriented Framework for Information System User Interfaces
OOIS '02 Proceedings of the Workshops on Advances in Object-Oriented Information Systems
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
A VALUE BASED BUSINESS PROCESS MANAGEMENT NETWORK MODEL
Journal of Integrated Design & Process Science
Hi-index | 0.00 |
Writing requirements in a formal notation permits automatic assessment of such properties as ambiguity, consistency, and completeness. However, verifying that the properties expressed in requirements are preserved in other software life cycle artifacts remains difficult. The existing techniques either require substantial manual effort and skill or suffer from exponential explosion of the number of states in the generated state spaces. 驴Light-weight驴 formal methods is an approach to achieve scalability in fully automatic verification by checking an abstraction of the system for only certain properties. This paper describes light-weight techniques for automatic analysis of consistency between software requirements (expressed in SCR) and detailed designs in low-degree-polynomial time, achieved at the expense of using imprecise data-flow analysis techniques. A specification language SCR describes the systems as state machines with event-driven transitions. We define detailed designs to be consistent with their SCR requirements if they contain exactly the same transitions. We have developed a language for specifying detailed designs, an analysis technique to create a model of a design through data-flow analysis of the language constructs, and a method to automatically generate and check properties derived from requirements to ensure a design's consistency with them. These ideas are implemented in a tool named cord, which we used to uncover errors in designs of some existing systems.