{"title":"Syntax-Guided Automated Program Repair for Hyperproperties","authors":"Raven Beutner, Tzu-Han Hsu, Borzoo Bonakdarpour, Bernd Finkbeiner","doi":"arxiv-2408.06035","DOIUrl":null,"url":null,"abstract":"We study the problem of automatically repairing infinite-state software\nprograms w.r.t. temporal hyperproperties. As a first step, we present a repair\napproach for the temporal logic HyperLTL based on symbolic execution,\nconstraint generation, and syntax-guided synthesis of repair expression\n(SyGuS). To improve the repair quality, we introduce the notation of a\ntransparent repair that aims to find a patch that is as close as possible to\nthe original program. As a practical realization, we develop an iterative\nrepair approach. Here, we search for a sequence of repairs that are closer and\ncloser to the original program's behavior. We implement our method in a\nprototype and report on encouraging experimental results using off-the-shelf\nSyGuS solvers.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-08-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.06035","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We study the problem of automatically repairing infinite-state software
programs w.r.t. temporal hyperproperties. As a first step, we present a repair
approach for the temporal logic HyperLTL based on symbolic execution,
constraint generation, and syntax-guided synthesis of repair expression
(SyGuS). To improve the repair quality, we introduce the notation of a
transparent repair that aims to find a patch that is as close as possible to
the original program. As a practical realization, we develop an iterative
repair approach. Here, we search for a sequence of repairs that are closer and
closer to the original program's behavior. We implement our method in a
prototype and report on encouraging experimental results using off-the-shelf
SyGuS solvers.