Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Three partition refinement algorithms
SIAM Journal on Computing
Enhancing model checking in verification by AI techniques
Artificial Intelligence
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Communication and Concurrency
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Bisimulation Minimization in an Automata-Theoretic Verification Framework
FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
The Art of Software Testing
GOAL: a graphical tool for manipulating Büchi automata and temporal formulae
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Repair of boolean programs with an application to c
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
A logic approach for LTL system modification
ISMIS'05 Proceedings of the 15th international conference on Foundations of Intelligent Systems
Algorithms for CTL system modification
KES'05 Proceedings of the 9th international conference on Knowledge-Based Intelligent Information and Engineering Systems - Volume Part II
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Combining mutation and fault localization for automated program debugging
Journal of Systems and Software
Hi-index | 0.00 |
In software engineering, graphical formalisms, like state- transition tables and automata, are very often indispensable parts of the specifications. Such a formalism usually leads to specification refinement that maintains the simulation/bisimulation relation between an implementation and a specification. We investigate how to use formal techniques to generate suggestions for repairing a program that breaks the bisimulation relation with a graphical specification. We use state graphs as a unified representation of the program models and specifications. We propose a technique that may evaluate the cost of a repair. We present a PTIME heuristic algorithm that suggests how to repair a model state graph. We then explain how to derive repair suggestions for programs from the repair for state graphs. Finally, we report our experiment that checks the performance of our repair algorithms and the costs of our repairs.