{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,17]],"date-time":"2025-04-17T05:53:25Z","timestamp":1744869205865},"reference-count":0,"publisher":"Association for the Advancement of Artificial Intelligence (AAAI)","issue":"11","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["AAAI"],"abstract":"<jats:p>Fuzzing is a widely-used testing technique to assure software robustness. However, automatic generation of high-quality test suites is challenging, especially for software that takes in highly-structured inputs, such as the compilers. Compiler fuzzing remains difficult as generating tons of syntactically and semantically valid programs is not trivial. Most previous methods either depend on human-crafted grammars or heuristics to learn partial language patterns. They both suffer from the completeness issue that is a classic puzzle in software testing. To mitigate the problem, we propose a knowledge-guided reinforcement learning-based approach to generating valid programs for compiler fuzzing. We first design a naive learning model which evolves with the sequential mutation rewards provided by a target compiler we test. By iterating the training cycle, the model learns to generate valid programs that can improve the testing efficacy as well. We implement the proposed method into a tool called ALPHAPROG. We analyze the framework with four different reward functions and our study reveal the effectiveness of  ALPHAPROG for compiler testing. We also reported two important bugs for a compiler production that were confirmed and addressed by the project owner, which further demonstrates ALPHAPROG's applied value in practice.<\/jats:p>","DOI":"10.1609\/aaai.v36i11.21527","type":"journal-article","created":{"date-parts":[[2022,7,4]],"date-time":"2022-07-04T09:59:31Z","timestamp":1656928771000},"page":"12559-12565","source":"Crossref","is-referenced-by-count":5,"title":["ALPHAPROG: Reinforcement Generation of Valid Programs for Compiler Fuzzing"],"prefix":"10.1609","volume":"36","author":[{"given":"Xiaoting","family":"Li","sequence":"first","affiliation":[]},{"given":"Xiao","family":"Liu","sequence":"additional","affiliation":[]},{"given":"Lingwei","family":"Chen","sequence":"additional","affiliation":[]},{"given":"Rupesh","family":"Prajapati","sequence":"additional","affiliation":[]},{"given":"Dinghao","family":"Wu","sequence":"additional","affiliation":[]}],"member":"9382","published-online":{"date-parts":[[2022,6,28]]},"container-title":["Proceedings of the AAAI Conference on Artificial Intelligence"],"original-title":[],"link":[{"URL":"https:\/\/ojs.aaai.org\/index.php\/AAAI\/article\/download\/21527\/21276","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/ojs.aaai.org\/index.php\/AAAI\/article\/download\/21527\/21276","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,4]],"date-time":"2022-07-04T09:59:32Z","timestamp":1656928772000},"score":1,"resource":{"primary":{"URL":"https:\/\/ojs.aaai.org\/index.php\/AAAI\/article\/view\/21527"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,6,28]]},"references-count":0,"journal-issue":{"issue":"11","published-online":{"date-parts":[[2022,6,30]]}},"URL":"https:\/\/doi.org\/10.1609\/aaai.v36i11.21527","relation":{},"ISSN":["2374-3468","2159-5399"],"issn-type":[{"value":"2374-3468","type":"electronic"},{"value":"2159-5399","type":"print"}],"subject":[],"published":{"date-parts":[[2022,6,28]]}}}