TY - GEN
T1 - Genetic synthesis of concurrent code using model checking and statistical model checking
AU - Bu, Lei
AU - Peled, Doron
AU - Shen, Dachuan
AU - Zhuang, Yuan
N1 - Publisher Copyright: © 2018, Springer International Publishing AG, part of Springer Nature.
PY - 2018
Y1 - 2018
N2 - Genetic programming (GP) is a heuristic method for automatically generating code. It applies probabilistic-based generation and mutation of code, combined with “natural selection” principles, using a fitness function. Often, the fitness is calculated based on a large test suite. Recently, GP was applied for synthesizing correct-by-design concurrent code from temporal specification, where model checking was used for calculating the fitness function. A deficiency of this approach is that it uses a limited number of fitness values, based on a small number of modes for each verified specification property (e.g., satisfies, does not satisfy a given property). Furthermore, the need to apply model checking on many candidate solutions using the genetic process makes using an off-the-shelf model checker such as Spin prohibitively expensive. The repeated invocation of such a tool, compiling the code for a new candidate solution and running it, can render the performance of this approach several orders of magnitude slower than using an internal model checking. To tackle this problem, we describe here the use of a combination of statistical model checking, and a light use of model checking, for calculating the fitness required by GP.
AB - Genetic programming (GP) is a heuristic method for automatically generating code. It applies probabilistic-based generation and mutation of code, combined with “natural selection” principles, using a fitness function. Often, the fitness is calculated based on a large test suite. Recently, GP was applied for synthesizing correct-by-design concurrent code from temporal specification, where model checking was used for calculating the fitness function. A deficiency of this approach is that it uses a limited number of fitness values, based on a small number of modes for each verified specification property (e.g., satisfies, does not satisfy a given property). Furthermore, the need to apply model checking on many candidate solutions using the genetic process makes using an off-the-shelf model checker such as Spin prohibitively expensive. The repeated invocation of such a tool, compiling the code for a new candidate solution and running it, can render the performance of this approach several orders of magnitude slower than using an internal model checking. To tackle this problem, we describe here the use of a combination of statistical model checking, and a light use of model checking, for calculating the fitness required by GP.
UR - http://www.scopus.com/inward/record.url?scp=85049047025&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-319-94111-0_16
DO - https://doi.org/10.1007/978-3-319-94111-0_16
M3 - منشور من مؤتمر
SN - 9783319941103
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 275
EP - 291
BT - Model Checking Software - 25th International Symposium, SPIN 2018, Proceedings
A2 - Gallardo, María del
A2 - Merino, Pedro
PB - Springer Verlag
T2 - 25th International Symposium on Model Checking Software, SPIN 2018
Y2 - 20 June 2018 through 22 June 2018
ER -