Learning regular sets from queries and counterexamples
Information and Computation
In transition from global to modular temporal reasoning about programs
Logics and models of concurrent systems
Inference of finite automata using homing sequences
Information and Computation
Model checking
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Interface Compatibility Checking for Software Modules
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Assumption Generation for Software Component Verification
Proceedings of the 17th IEEE international conference on Automated software engineering
Efficient Verification of Sequential and Concurrent C Programs
Formal Methods in System Design
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Learning assumptions for compositional verification
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
The ComFoRT reasoning framework
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Formal Software Analysis Emerging Trends in Software Model Checking
FOSE '07 2007 Future of Software Engineering
Component Substitutability via Equivalencies of Component-Interaction Automata
Electronic Notes in Theoretical Computer Science (ENTCS)
Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning
Formal Methods in System Design
Verification of evolving software via component substitutability analysis
Formal Methods in System Design
Special issue on learning techniques for compositional reasoning
Formal Methods in System Design
Automatic symbolic compositional verification by learning assumptions
Formal Methods in System Design
25 Years of Model Checking
Modular verification of web services using efficient symbolic encoding and summarization
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Learning Minimal Separating DFA's for Compositional Verification
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Refining interface alphabets for compositional verification
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Program compatibility approaches
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Assume-guarantee software verification based on game semantics
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
The ComFoRT reasoning framework
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Learning-based symbolic assume-guarantee reasoning with automatic decomposition
ATVA'06 Proceedings of the 4th international conference on Automated Technology for Verification and Analysis
Factorization for component-interaction automata
SOFSEM'12 Proceedings of the 38th international conference on Current Trends in Theory and Practice of Computer Science
Service substitutability analysis based on behavior automata
Innovations in Systems and Software Engineering
Function summaries in software upgrade checking
HVC'11 Proceedings of the 7th international Haifa Verification conference on Hardware and Software: verification and testing
eVolCheck: incremental upgrade checker for C
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
This paper presents an automated and compositional procedure to solve the substitutability problem in the context of evolving software systems. Our solution contributes two techniques for checking correctness of software upgrades: 1) a technique based on simultaneous use of over and under approximations obtained via existential and universal abstractions; 2) a dynamic assume-guarantee reasoning algorithm – previously generated component assumptions are reused and altered on-the-fly to prove or disprove the global safety properties on the updated system. When upgrades are found to be non-substitutable our solution generates constructive feedback to developers showing how to improve the components. The substitutability approach has been implemented and validated in the ComFoRT model checking tool set and we report encouraging results on an industrial benchmark.