Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A functional approach to program testing and analysis
IEEE Transactions on Software Engineering
Foundations for the Arcadia environment architecture
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
A general-purpose algorithm for analyzing concurrent programs
Communications of the ACM
Cecil: A Sequencing Constraint Language for Automatic Static Analysis Generation
IEEE Transactions on Software Engineering
Properties of data flow frameworks: a unified model
Acta Informatica
Compositional reachability analysis using process algebra
TAV4 Proceedings of the symposium on Testing, analysis, and verification
A model of Ada programs for static deadlock detection in polynomial times
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Interprocedural static analysis of sequencing constraints
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated Analysis of Concurrent Systems with the Constrained Expression Toolset
IEEE Transactions on Software Engineering
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
The Z notation: a reference manual
The Z notation: a reference manual
Symbolic Boolean manipulation with ordered binary-decision diagrams
ACM Computing Surveys (CSUR)
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using state space reduction methods for deadlock analysis in Ada tasking
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Static detection of deadlocks in polynomial time
Static detection of deadlocks in polynomial time
Towards scalable compositional analysis
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Data flow analysis for verifying properties of concurrent programs
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Combining analyses, combining optimizations
ACM Transactions on Programming Languages and Systems (TOPLAS)
A concurrency analysis tool suite for Ada programs: rationale, design, and preliminary experience
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using integer programming to verify general safety and liveness properties
Formal Methods in System Design - Special issue on computer-aided verification (based on CAV'92 workshop)
Lattice frameworks for multisource and bidirectional data flow problems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Context constraints for compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Verification of communication protocols using data flow analysis
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
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
Applying static analysis to software architectures
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
Data flow analysis is model checking of abstract interpretations
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient composite data flow analysis applied to concurrent programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Data flow analysis for checking properties of concurrent Java programs
Proceedings of the 21st international conference on Software engineering
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Using partial order techniques to improve performance of data flow analysis based verification
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A deadlock detection tool for concurrent Java programs
Software—Practice & Experience
An efficient algorithm for computing MHP information for concurrent Java programs
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Model checking
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
Classifying properties: an alternative to the safety-liveness classification
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
An axiomatic basis for computer programming
Communications of the ACM
Pointer and escape analysis for multithreaded programs
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Finding bugs with a constraint solver
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Symbolic Model Checking
Communication and Concurrency
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
A Discipline of Programming
PROPEL: an approach supporting property elucidation
Proceedings of the 24th International Conference on Software Engineering
Tractable Flow Analysis for Anomaly Detection in Distributed Programs
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
Logic Verification of ANSI-C Code with SPIN
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
A Case Study in Class Library Verification: Java's Vector Class
Proceedings of the Workshop on Object-Oriented Technology
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Ten Years of Partial Order Reduction
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Modular flow analysis for concurrent software
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Experimental Design for Comparing Static Concurrency Analysis
Experimental Design for Comparing Static Concurrency Analysis
Comparing Finite-State Verification Techniques for Concurrent Software
Comparing Finite-State Verification Techniques for Concurrent Software
Data flow analysis for verifying correctness properties of concurrent programs
Data flow analysis for verifying correctness properties of concurrent programs
Heuristic-Based Model Refinement for FLAVERS
Proceedings of the 26th International Conference on Software Engineering
Heuristic-guided counterexample search in FLAVERS
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Learning assumptions for compositional verification
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
Joining dataflow with predicates
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Managing space for finite-state verification
Proceedings of the 28th international conference on Software engineering
Pluggable abstract domains for analyzing embedded software
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Finite-state verification for high performance computing
Proceedings of the second international workshop on Software engineering for high performance computing system applications
Breaking up is hard to do: an investigation of decomposition for assume-guarantee reasoning
Proceedings of the 2006 international symposium on Software testing and analysis
User guidance for creating precise and accessible property specifications
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Complex medical processes as context for embedded systems
ACM SIGBED Review - Special issues on workshop on innovative techniques for certification of embedded systems
Functional verification of task partitioning for multiprocessor embedded systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Breaking up is hard to do: An evaluation of automated assume-guarantee reasoning
ACM Transactions on Software Engineering and Methodology (TOSEM)
Specifying and verifying requirements for election processes
dg.o '08 Proceedings of the 2008 international conference on Digital government research
Proceedings of the 30th international conference on Software engineering
Using software engineering technology to improve the quality of medical processes
Companion of the 30th international conference on Software engineering
Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning
Formal Methods in System Design
Rigorously Defining and Analyzing Medical Processes: An Experience Report
Models in Software Engineering
Plug-and-Play Architectural Design and Verification
Architecting Dependable Systems V
Experience in using a process language to define scientific workflow and generate dataset provenance
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Innovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs
A methodology for evaluating test coverage criteria of high levelPetri nets
Information and Software Technology
A benchmark for evaluating software engineering techniques for improving medical processes
Proceedings of the 2010 ICSE Workshop on Software Engineering in Health Care
Experience modeling and analyzing medical processes: UMass/baystate medical safety project overview
Proceedings of the 1st ACM International Health Informatics Symposium
Process-based derivation of requirements for medical devices
Proceedings of the 1st ACM International Health Informatics Symposium
Using process definitions to support reasoning about satisfaction of process requirements
ICSP'10 Proceedings of the 2010 international conference on New modeling concepts for today's software processes: software process
Clara: partially evaluating runtime monitors at compile time tutorial supplement
RV'10 Proceedings of the First international conference on Runtime verification
Iterative refinement of specification for component based embedded systems
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Process programming to support medical safety: a case study on blood transfusion
SPW'05 Proceedings of the 2005 international conference on Unifying the Software Process Spectrum
Definition and analysis of election processes
SPW/ProSim'06 Proceedings of the 2006 international conference on Software Process Simulation and Modeling
Architectural building blocks for plug-and-play system design
CBSE'06 Proceedings of the 9th international conference on Component-Based Software Engineering
An enhanced flow analysis technique for detecting unreachability faults in concurrent systems
Information Sciences: an International Journal
Attacking the dimensionality problem of parameterized systems via bounded reachability graphs
FSEN'11 Proceedings of the 4th IPM international conference on Fundamentals of Software Engineering
A systematic process-model-based approach for synthesizing attacks and evaluating them
EVT/WOTE'12 Proceedings of the 2012 international conference on Electronic Voting Technology/Workshop on Trustworthy Elections
Hi-index | 0.00 |
This article describes FLAVERS, a finite-state verification approach that analyzes whether concurrent systems satisfy user-defined, behavioral properties. FLAVERS automatically creates a compact, event-based model of the system that supports efficient dataflow analysis. FLAVERS achieves this efficiency at the cost of precision. Analysts, however, can improve the precision of analysis results by selectively and judiciously incorporating additional semantic information into an analysis.We report on an empirical study of the performance of the FLAVERS/Ada toolset applied to a collection of multitasking Ada systems. This study indicates that sufficient precision for proving system properties can usually be achieved and that the cost for such analysis typically grows as a low-order polynomial in the size of the system.