Cargando…
Sound and Complete Concolic Testing for Higher-order Functions
Higher-order functions have become a staple of modern programming languages. However, such values stymie concolic testers, as the SMT solvers at their hearts are inherently first-order. This paper lays a formal foundations for concolic testing higher-order functional programs. Three ideas enable our...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2021
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7984566/ http://dx.doi.org/10.1007/978-3-030-72019-3_23 |
_version_ | 1783668092712255488 |
---|---|
author | You, Shu-Hung Findler, Robert Bruce Dimoulas, Christos |
author_facet | You, Shu-Hung Findler, Robert Bruce Dimoulas, Christos |
author_sort | You, Shu-Hung |
collection | PubMed |
description | Higher-order functions have become a staple of modern programming languages. However, such values stymie concolic testers, as the SMT solvers at their hearts are inherently first-order. This paper lays a formal foundations for concolic testing higher-order functional programs. Three ideas enable our results: (i) our tester considers only program inputs in a canonical form; (ii) it collects novel constraints from the evaluation of the canonical inputs to search the space of inputs with partial help from an SMT solver and (iii) it collects constraints from canonical inputs even when they are arguments to concretized calls. We prove that (i) concolic evaluation is sound with respect to concrete evaluation; (ii) modulo concretization and SMT solver incompleteness, the search for a counter-example succeeds if a user program has a bug and (iii) this search amounts to directed evolution of inputs targeting hard-to-reach corners of the program. |
format | Online Article Text |
id | pubmed-7984566 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2021 |
record_format | MEDLINE/PubMed |
spelling | pubmed-79845662021-03-23 Sound and Complete Concolic Testing for Higher-order Functions You, Shu-Hung Findler, Robert Bruce Dimoulas, Christos Programming Languages and Systems Article Higher-order functions have become a staple of modern programming languages. However, such values stymie concolic testers, as the SMT solvers at their hearts are inherently first-order. This paper lays a formal foundations for concolic testing higher-order functional programs. Three ideas enable our results: (i) our tester considers only program inputs in a canonical form; (ii) it collects novel constraints from the evaluation of the canonical inputs to search the space of inputs with partial help from an SMT solver and (iii) it collects constraints from canonical inputs even when they are arguments to concretized calls. We prove that (i) concolic evaluation is sound with respect to concrete evaluation; (ii) modulo concretization and SMT solver incompleteness, the search for a counter-example succeeds if a user program has a bug and (iii) this search amounts to directed evolution of inputs targeting hard-to-reach corners of the program. 2021-03-23 /pmc/articles/PMC7984566/ http://dx.doi.org/10.1007/978-3-030-72019-3_23 Text en © The Author(s) 2021 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. |
spellingShingle | Article You, Shu-Hung Findler, Robert Bruce Dimoulas, Christos Sound and Complete Concolic Testing for Higher-order Functions |
title | Sound and Complete Concolic Testing for Higher-order Functions |
title_full | Sound and Complete Concolic Testing for Higher-order Functions |
title_fullStr | Sound and Complete Concolic Testing for Higher-order Functions |
title_full_unstemmed | Sound and Complete Concolic Testing for Higher-order Functions |
title_short | Sound and Complete Concolic Testing for Higher-order Functions |
title_sort | sound and complete concolic testing for higher-order functions |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7984566/ http://dx.doi.org/10.1007/978-3-030-72019-3_23 |
work_keys_str_mv | AT youshuhung soundandcompleteconcolictestingforhigherorderfunctions AT findlerrobertbruce soundandcompleteconcolictestingforhigherorderfunctions AT dimoulaschristos soundandcompleteconcolictestingforhigherorderfunctions |