Adam Kiezun, Philip J. Guo, Pieter Hooimeijer, Michael D. Ernst, Vijay Ganesh
{"title":"Theory and practice of string solvers (invited talk abstract)","authors":"Adam Kiezun, Philip J. Guo, Pieter Hooimeijer, Michael D. Ernst, Vijay Ganesh","doi":"10.1145/3293882.3338993","DOIUrl":null,"url":null,"abstract":"The paper titled \"Hampi: A Solver for String Constraints\" was published in the proceedings of the International Symposium on Software Testing and Analysis (ISSTA) 2009, and has been selected to receive the ISSTA 2019 Impact Paper Award. The paper describes HAMPI, one of the first practical solver aimed at solving the satisfiability problem for a theory of string (word) equations, operations over strings, predicates over regular expressions and context-free grammars. HAMPI has been used widely to solve many software engineering and security problems, and has inspired considerable research on string solving algorithms and their applications. In this talk, we review the state of research on the theory and practice of string solving algorithms, specifically highlighting key historical developments that have led to their widespread use. On the practical front, we discuss different kinds of algorithmic paradigms, such as word- and automata-based, that have been developed to solve string and regular expression constraints. We then focus on the many hardness results that theorists have proved for fragments of theories over strings. Finally, we conclude with open theoretical problems, practical algorithmic challenges, and future applications of string solvers.","PeriodicalId":20624,"journal":{"name":"Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis","volume":"2 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2019-07-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3293882.3338993","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The paper titled "Hampi: A Solver for String Constraints" was published in the proceedings of the International Symposium on Software Testing and Analysis (ISSTA) 2009, and has been selected to receive the ISSTA 2019 Impact Paper Award. The paper describes HAMPI, one of the first practical solver aimed at solving the satisfiability problem for a theory of string (word) equations, operations over strings, predicates over regular expressions and context-free grammars. HAMPI has been used widely to solve many software engineering and security problems, and has inspired considerable research on string solving algorithms and their applications. In this talk, we review the state of research on the theory and practice of string solving algorithms, specifically highlighting key historical developments that have led to their widespread use. On the practical front, we discuss different kinds of algorithmic paradigms, such as word- and automata-based, that have been developed to solve string and regular expression constraints. We then focus on the many hardness results that theorists have proved for fragments of theories over strings. Finally, we conclude with open theoretical problems, practical algorithmic challenges, and future applications of string solvers.
这篇题为“Hampi: A Solver for String Constraints”的论文发表在2009年国际软件测试与分析研讨会(ISSTA)的论文集上,并被选为ISSTA 2019影响论文奖。本文描述了HAMPI,它是第一个实用的求解器,旨在解决字符串(词)方程、字符串上的运算、正则表达式上的谓词和上下文无关语法理论的可满足性问题。HAMPI已被广泛用于解决许多软件工程和安全问题,并激发了对字符串求解算法及其应用的大量研究。在这次演讲中,我们回顾了字符串求解算法的理论和实践的研究现状,特别强调了导致其广泛使用的关键历史发展。在实践方面,我们讨论了不同类型的算法范例,例如基于单词和基于自动机的算法范例,这些算法范例已被开发用于解决字符串和正则表达式约束。然后,我们将重点放在理论学家为弦上的理论片段所证明的许多硬度结果上。最后,我们总结了开放的理论问题,实际算法挑战,以及字符串求解器的未来应用。