The complexity of propositional linear temporal logics
Journal of the ACM (JACM)
Limits for automatic verification of finite-state concurrent systems
Information Processing Letters
Proving properties of a ring of finite-state machines
Information Processing Letters
A structural induction theorem for processes
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
On the synthesis of a reactive module
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Defining conditional independence using collapses
Theoretical Computer Science - Selected papers of the International BCS-FACS Workshop on Semantics for Concurrency, Leicester, UK, July 1990
Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Checking that finite state concurrent programs satisfy their linear specification
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An O(nlog n) Unidirectional Algorithm for the Circular Extrema Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
An improved algorithm for decentralized extrema-finding in circular configurations of processes
Communications of the ACM
Verification of Concurrent Systems: Function and Timing
Proceedings of the IFIP WG6.1 Second International Workshop on Protocol Specification, Testing and Verification
An improvement in formal verification
Proceedings of the 7th IFIP WG6.1 International Conference on Formal Description Techniques VII
Verifying Properties of Large Sets of Processes with Network Invariants
Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems
Refining Dependencies Improves Partial-Order Verification Methods (Extended Abstract)
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Automata theoretic techniques for modal logics of programs: (Extended abstract)
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
Automatic discovery of mutual exclusion algorithms
Proceedings of the twenty-second annual symposium on Principles of distributed computing
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Genetic Programming and Model Checking: Synthesizing New Mutual Exclusion Algorithms
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Model Checking Driven Heuristic Search for Correct Programs
Model Checking and Artificial Intelligence
Genetic programming with fitness based on model checking
EuroGP'07 Proceedings of the 10th European conference on Genetic programming
Model checking-based genetic programming with an application to mutual exclusion
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Evolving computer programs without subtree crossover
IEEE Transactions on Evolutionary Computation
MCGP: a software synthesis tool based on model checking and genetic programming
ATVA'10 Proceedings of the 8th international conference on Automated technology for verification and analysis
Code mutation in verification and automatic code correction
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Searching for pareto-optimal randomised algorithms
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Hi-index | 0.00 |
In recent papers [13,14,15], we demonstrated a methodology for developing correct-by-design programs from temporal logic specification using genetic programming. Model checking the temporal specification is used to calculate the fitness function for candidate solutions, which directs the search from initial randomly generated programs towards correct solutions. This method was successfully demonstrated by constructing solutions for the mutual exclusion problem; later, we also imposed some realistic constraints on access to variables. While the results were encouraging for using the genetic synthesis method, the mutual exclusion example includes some limitations that fit well with the constraints of model checking: the goal was finding a fixed finite state program, and its state space was moderately small. Here, in a more realistic setting, we challenge the problem of synthesizing a solution for the well known "leader election" problem; under this problem, a circular, unidirectional network with message passing is seeking the identity of a process with a maximal value. This identity, once found, can be used for synchronization, breaking symmetry and other network applications. The problem is challenging since it is parametric, and the state space of the solutions grows up exponentially with the number of processes.