Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3486608.3486910acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article
Open access

Automatic grammar repair

Published: 22 November 2021 Publication History

Abstract

We describe the first approach to automatically repair bugs in context-free grammars: given a grammar that fails some tests in a given test suite, we iteratively and gradually transform the grammar until it passes all tests. Our core idea is to build on spectrum-based fault localization to identify promising repair sites (i.e., specific positions in rules), and to apply grammar patches at these sites whenever they satisfy explicitly formulated pre-conditions necessary to potentially improve the grammar.
We have implemented this approach in the gfixr system, and successfully used it to fix grammars students submitted as homeworks in a compiler engineering course, and to map one Pascal dialect grammar against another dialect. gfixr can be configured to explore the repair space in different ways, and can also take advantage of counterexamples to enable restriction patches that make the grammar less permissive.

Supplementary Material

Auxiliary Presentation Video (splashws21slemain-p33-p-video.mp4)
This is a presentation video of the paper "Automatic Gramnmar Repair" accepted at SLE21 by Moeketsi Raselimo and Bernd Fischer.

References

[1]
Rui Abreu, Peter Zoeteweij, and Arjan J. C. van Gemund. 2006. An Evaluation of Similarity Coefficients for Software Fault Localization. In 12th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC 2006), 18-20 December, 2006, University of California, Riverside, USA. IEEE Computer Society, 39–46. https://doi.org/10.1109/PRDC.2006.18
[2]
Rui Abreu, Peter Zoeteweij, and Arjan J. C. van Gemund. 2009. Spectrum-Based Multiple Fault Localization. In ASE 2009, 24th IEEE/ACM International Conference on Automated Software Engineering, Auckland, New Zealand, November 16-20, 2009. IEEE Computer Society, 88–99. https://doi.org/10.1109/ASE.2009.25
[3]
Dana Angluin. 1987. Queries and Concept Learning. Mach. Learn., 2, 4 (1987), 319–342. https://doi.org/10.1007/BF00116828
[4]
Cornelius Aschermann, Tommaso Frassetto, Thorsten Holz, Patrick Jauernig, Ahmad-Reza Sadeghi, and Daniel Teuchert. 2019. NAUTILUS: Fishing for Deep Bugs with Grammars. In 26th Annual Network and Distributed System Security Symposium, NDSS 2019, San Diego, California, USA, February 24-27, 2019. The Internet Society. https://www.ndss-symposium.org/ndss-paper/nautilus-fishing-for-deep-bugs-with-grammars/
[5]
Chelsea Barraball, Moeketsi Raselimo, and Bernd Fischer. 2020. An interactive feedback system for grammar development (tool paper). In Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, November 16-17, 2020, Ralf Lämmel, Laurence Tratt, and Juan de Lara (Eds.). ACM, 101–107. https://doi.org/10.1145/3426425.3426935
[6]
Osbert Bastani, Rahul Sharma, Alex Aiken, and Percy Liang. 2017. Synthesizing program input grammars. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, Barcelona, Spain, June 18-23, 2017, Albert Cohen and Martin T. Vechev (Eds.). ACM, 95–110. https://doi.org/10.1145/3062341.3062349
[7]
Mike Y. Chen, Emre Kiciman, Eugene Fratkin, Armando Fox, and Eric A. Brewer. 2002. Pinpoint: Problem Determination in Large, Dynamic Internet Services. In 2002 International Conference on Dependable Systems and Networks (DSN 2002), 23-26 June 2002, Bethesda, MD, USA, Proceedings. 595–604. https://doi.org/10.1109/DSN.2002.1029005
[8]
Matej Crepinsek, Marjan Mernik, Barrett R. Bryant, Faizan Javed, and Alan P. Sprague. 2005. Inferring Context-Free Grammars for Domain-Specific Languages. Electron. Notes Theor. Comput. Sci., 141, 4 (2005), 99–116. https://doi.org/10.1016/j.entcs.2005.02.055
[9]
Colin de la Higuera. 2010. Grammatical Inference: Learning Automata and Grammars. Cambridge University Press. isbn:0521763169
[10]
Richard A. DeMillo, Richard J. Lipton, and Frederick G. Sayward. 1978. Hints on Test Data Selection: Help for the Practicing Programmer. Computer, 11, 4 (1978), 34–41. https://doi.org/10.1109/C-M.1978.218136
[11]
Frank Drewes and Johanna Högberg. 2003. Learning a Regular Tree Language from a Teacher. In Developments in Language Theory, 7th International Conference, DLT 2003, Szeged, Hungary, July 7-11, 2003, Proceedings, Zoltán Ésik and Zoltán Fülöp (Eds.) (Lecture Notes in Computer Science, Vol. 2710). Springer, 279–291. https://doi.org/10.1007/3-540-45007-6_22
[12]
Giorgios Economopoulos, Paul Klint, and Jurgen J. Vinju. 2009. Faster Scannerless GLR Parsing. In Compiler Construction, 18th International Conference, CC 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, UK, March 22-29, 2009. Proceedings, Oege de Moor and Michael I. Schwartzbach (Eds.) (Lecture Notes in Computer Science, Vol. 5501). Springer, 126–141. https://doi.org/10.1007/978-3-642-00722-4_10
[13]
E. Mark Gold. 1967. Language Identification in the Limit. Inf. Control., 10, 5 (1967), 447–474. https://doi.org/10.1016/S0019-9958(67)91165-5
[14]
Rahul Gopinath, Björn Mathis, and Andreas Zeller. 2020. Mining input grammars from dynamic control flow. In ESEC/FSE ’20: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Virtual Event, USA, November 8-13, 2020, Prem Devanbu, Myra B. Cohen, and Thomas Zimmermann (Eds.). ACM, 172–183. https://doi.org/10.1145/3368089.3409679
[15]
Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. 2012. GenProg: A Generic Method for Automatic Software Repair. IEEE Trans. Software Eng., 38, 1 (2012), 54–72. https://doi.org/10.1109/TSE.2011.104
[16]
Nikolas Havrikov and Andreas Zeller. 2019. Systematically Covering Input Structure. In 34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019, San Diego, CA, USA, November 11-15, 2019. IEEE, 189–199. https://doi.org/10.1109/ASE.2019.00027
[17]
Christian Holler, Kim Herzig, and Andreas Zeller. 2012. Fuzzing with Code Fragments. In Proceedings of the 21th USENIX Security Symposium, Bellevue, WA, USA, August 8-10, 2012, Tadayoshi Kohno (Ed.). USENIX Association, 445–458. https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/holler
[18]
Matthias Höschele and Andreas Zeller. 2016. Mining input grammars from dynamic taints. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, David Lo, Sven Apel, and Sarfraz Khurshid (Eds.) (ASE 2016). ACM, New York, NY, USA. 720–725. https://doi.org/10.1145/2970276.2970321
[19]
Matthias Höschele and Andreas Zeller. 2017. Mining input grammars with AUTOGRAM. In Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, May 20-28, 2017 - Companion Volume, Sebastián Uchitel, Alessandro Orso, and Martin P. Robillard (Eds.). IEEE Computer Society, 31–34. https://doi.org/10.1109/ICSE-C.2017.14
[20]
Jinru Hua, Mengshi Zhang, Kaiyuan Wang, and Sarfraz Khurshid. 2018. Towards practical program repair with on-demand candidate generation. In Proceedings of the 40th International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, May 27 - June 03, 2018, Michel Chaudron, Ivica Crnkovic, Marsha Chechik, and Mark Harman (Eds.). ACM, 12–23. https://doi.org/10.1145/3180155.3180245
[21]
Malte Isberner. 2015. Foundations of active automata learning: an algorithmic perspective. Ph.D. Dissertation. Technical University Dortmund, Germany. http://hdl.handle.net/2003/34282
[22]
Rahul Jain, Sanjeev Kumar Aggarwal, Pankaj Jalote, and Shiladitya Biswas. 2004. An interactive method for extracting grammar from programs. Softw. Pract. Exp., 34, 5 (2004), 433–447. https://doi.org/10.1002/spe.568
[23]
James A. Jones and Mary Jean Harrold. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), November 7-11, 2005, Long Beach, CA, USA, David F. Redmiles, Thomas Ellman, and Andrea Zisman (Eds.). ACM, 273–282. https://doi.org/10.1145/1101908.1101949
[24]
James A. Jones, Mary Jean Harrold, and John T. Stasko. 2002. Visualization of test information to assist fault localization. In Proceedings of the 24th International Conference on Software Engineering, ICSE 2002, 19-25 May 2002, Orlando, Florida, USA, Will Tracz, Michal Young, and Jeff Magee (Eds.). ACM, 467–477. https://doi.org/10.1145/581339.581397
[25]
Alan Kaplan and Denise Shoup. 2000. CUPV - a visualization tool for generated parsers. In Proceedings of the 31st SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2000, Austin, Texas, USA, March 7-12, 2000, Lillian (Boots) Cassel, Nell B. Dale, Henry MacKay Walker, and Susan M. Haller (Eds.). ACM, 11–15. https://doi.org/10.1145/330908.331801
[26]
Yalin Ke, Kathryn T. Stolee, Claire Le Goues, and Yuriy Brun. 2015. Repairing Programs with Semantic Code Search (T). In 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015, Lincoln, NE, USA, November 9-13, 2015, Myra B. Cohen, Lars Grunske, and Michael Whalen (Eds.). IEEE Computer Society, 295–306. https://doi.org/10.1109/ASE.2015.60
[27]
Dongsun Kim, Jaechang Nam, Jaewoo Song, and Sunghun Kim. 2013. Automatic patch generation learned from human-written patches. In 35th International Conference on Software Engineering, ICSE ’13, San Francisco, CA, USA, May 18-26, 2013, David Notkin, Betty H. C. Cheng, and Klaus Pohl (Eds.). IEEE Computer Society, 802–811. https://doi.org/10.1109/ICSE.2013.6606626
[28]
Bruce Knobe and Kathleen Knobe. 1976. A Method for Inferring Context-free Grammars. Inf. Control., 31, 2 (1976), 129–146. https://doi.org/10.1016/S0019-9958(76)80003-4
[29]
Anil Koyuncu, Kui Liu, Tegawendé F. Bissyandé, Dongsun Kim, Jacques Klein, Martin Monperrus, and Yves Le Traon. 2020. FixMiner: Mining relevant fix patterns for automated program repair. Empir. Softw. Eng., 25, 3 (2020), 1980–2024. https://doi.org/10.1007/s10664-019-09780-z
[30]
Ralf Lämmel. 2001. Grammar Adaptation. In FME 2001: Formal Methods for Increasing Software Productivity, International Symposium of Formal Methods Europe, Berlin, Germany, March 12-16, 2001, Proceedings, José Nuno Oliveira and Pamela Zave (Eds.) (Lecture Notes in Computer Science, Vol. 2021). Springer, 550–570. https://doi.org/10.1007/3-540-45251-6_32
[31]
Ralf Lämmel. 2001. Grammar Testing. In Fundamental Approaches to Software Engineering, 4th International Conference, FASE 2001 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2001 Genova, Italy, April 2-6, 2001, Proceedings, Heinrich Huß mann (Ed.) (Lecture Notes in Computer Science, Vol. 2029). Springer, 201–216. https://doi.org/10.1007/3-540-45314-8_15
[32]
Ralf Lämmel and Chris Verhoef. 2001. Semi-automatic grammar recovery. Softw. Pract. Exp., 31, 15 (2001), 1395–1438. https://doi.org/10.1002/spe.423
[33]
Ralf Lämmel and Vadim Zaytsev. 2009. An Introduction to Grammar Convergence. In Integrated Formal Methods, 7th International Conference, IFM 2009, Düsseldorf, Germany, February 16-19, 2009. Proceedings, Michael Leuschel and Heike Wehrheim (Eds.) (Lecture Notes in Computer Science, Vol. 5423). Springer, 246–260. https://doi.org/10.1007/978-3-642-00255-7_17
[34]
Ralf Lämmel and Vadim Zaytsev. 2009. Recovering Grammar Relationships for the Java Language Specification. In Ninth IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2009, Edmonton, Alberta, Canada, September 20-21, 2009. IEEE Computer Society, 178–186. https://doi.org/10.1109/SCAM.2009.29
[35]
Marc M. Lankhorst. 1994. Grammatical Inference with a Genetic Algorithm. In Massively Parallel Processing Applications and Develompent, Proceedings of the 1994 EUROSIM Conference on Massively Parallel Processing Applications and Develompent, 21-23 June 1994, Delft, The Netherlands, Len Dekker, Wim Smit, and Jan C. Zuidervaart (Eds.). Elsevier, 423–430.
[36]
Lillian Lee. 1996. Learning of Context-Free Languages: A Survey of the Literature. Harvard University.
[37]
Kui Liu, Anil Koyuncu, Tegawendé F. Bissyandé, Dongsun Kim, Jacques Klein, and Yves Le Traon. 2019. You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systems. In 12th IEEE Conference on Software Testing, Validation and Verification, ICST 2019, Xi’an, China, April 22-27, 2019. IEEE, 102–113. https://doi.org/10.1109/ICST.2019.00020
[38]
Kui Liu, Anil Koyuncu, Dongsun Kim, and Tegawendé F. Bissyandé. 2019. TBar: revisiting template-based automated program repair. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2019, Beijing, China, July 15-19, 2019, Dongmei Zhang and Anders Møller (Eds.). ACM, 31–42. https://doi.org/10.1145/3293882.3330577
[39]
Xuliang Liu and Hao Zhong. 2018. Mining stackoverflow for program repair. In 25th International Conference on Software Analysis, Evolution and Reengineering, SANER 2018, Campobasso, Italy, March 20-23, 2018, Rocco Oliveto, Massimiliano Di Penta, and David C. Shepherd (Eds.). IEEE Computer Society, 118–129. https://doi.org/10.1109/SANER.2018.8330202
[40]
Ravichandhran Madhavan, Mikaël Mayer, Sumit Gulwani, and Viktor Kuncak. 2015. Automating grammar comparison. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, part of SPLASH 2015, Pittsburgh, PA, USA, October 25-30, 2015, Jonathan Aldrich and Patrick Eugster (Eds.). ACM, 183–200. https://doi.org/10.1145/2814270.2814304
[41]
Matias Martinez and Martin Monperrus. 2018. Ultra-Large Repair Search Space with Automatically Mined Templates: The Cardumen Mode of Astor. In Search-Based Software Engineering - 10th International Symposium, SSBSE 2018, Montpellier, France, September 8-9, 2018, Proceedings, Thelma Elita Colanzi and Phil McMinn (Eds.) (Lecture Notes in Computer Science, Vol. 11036). Springer, 65–86. https://doi.org/10.1007/978-3-319-99241-9_3
[42]
Björn Mathis, Rahul Gopinath, Michaël Mera, Alexander Kampmann, Matthias Höschele, and Andreas Zeller. 2019. Parser-directed fuzzing. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019, Phoenix, AZ, USA, June 22-26, 2019, Kathryn S. McKinley and Kathleen Fisher (Eds.). ACM, 548–560. https://doi.org/10.1145/3314221.3314651
[43]
Lee Naish, Hua Jie Lee, and Kotagiri Ramamohanarao. 2011. A model for spectra-based software diagnosis. ACM Trans. Softw. Eng. Methodol., 20, 3 (2011), 11:1–11:32. https://doi.org/10.1145/2000791.2000795
[44]
Katsuhiko Nakamura. 2006. Incremental Learning of Context Free Grammars by Bridging Rule Generation and Search for Semi-optimum Rule Sets. In Grammatical Inference: Algorithms and Applications, 8th International Colloquium, ICGI 2006, Tokyo, Japan, September 20-22, 2006, Proceedings, Yasubumi Sakakibara, Satoshi Kobayashi, Kengo Sato, Tetsuro Nishino, and Etsuji Tomita (Eds.) (Lecture Notes in Computer Science, Vol. 4201). Springer, 72–83. https://doi.org/10.1007/11872436_7
[45]
Katsuhiko Nakamura and Takashi Ishiwata. 2000. Synthesizing Context Free Grammars from Sample Strings Based on Inductive CYK Algorithm. In Grammatical Inference: Algorithms and Applications, 5th International Colloquium, ICGI 2000, Lisbon, Portugal, September 11-13, 2000, Proceedings, Arlindo L. Oliveira (Ed.) (Lecture Notes in Computer Science, Vol. 1891). Springer, 186–195. https://doi.org/10.1007/978-3-540-45257-7_15
[46]
Akira Ochiai. 1957. Zoogeographical studies on the soleoid fishes found in Japan and its neighhouring regions-II. Bulletin of the Japanese Society of Scientific Fisheries, 22, 9 (1957), 526–530. https://doi.org/10.2331/suisan.22.526
[47]
Terence Parr, Sam Harwell, and Kathleen Fisher. 2014. Adaptive LL(*) parsing: the power of dynamic analysis. In Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2014, part of SPLASH 2014, Portland, OR, USA, October 20-24, 2014, Andrew P. Black and Todd D. Millstein (Eds.). ACM, 579–598. https://doi.org/10.1145/2660193.2660202
[48]
Massimiliano Di Penta, Pierpaolo Lombardi, Kunal Taneja, and Luigi Troiano. 2008. Search-based inference of dialect grammars. Soft Comput., 12, 1 (2008), 51–66. https://doi.org/10.1007/s00500-007-0216-5
[49]
Georgios Petasis, Georgios Paliouras, Constantine D. Spyropoulos, and Constantine Halatsis. 2004. eg-GRIDS: Context-Free Grammatical Inference from Positive Examples Using Genetic Search. In Grammatical Inference: Algorithms and Applications, 7th International Colloquium, ICGI 2004, Athens, Greece, October 11-13, 2004, Proceedings, Georgios Paliouras and Yasubumi Sakakibara (Eds.) (Lecture Notes in Computer Science, Vol. 3264). Springer, 223–234. https://doi.org/10.1007/978-3-540-30195-0_20
[50]
Moeketsi Raselimo and Bernd Fischer. 2019. Spectrum-based fault localization for context-free grammars. In Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2019, Athens, Greece, October 20-22, 2019, Oscar Nierstrasz, Jeff Gray, and Bruno C. d. S. Oliveira (Eds.). ACM, 15–28. https://doi.org/10.1145/3357766.3359538
[51]
Moeketsi Raselimo and Bernd Fischer. 2021. Precise Spectrum-Based Fault Localization for Grammars. In preparation.
[52]
Moeketsi Raselimo, Jan Taljaard, and Bernd Fischer. 2019. Breaking parsers: mutation-based generation of programs with guaranteed syntax errors. In Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2019, Athens, Greece, October 20-22, 2019, Oscar Nierstrasz, Jeff Gray, and Bruno C. d. S. Oliveira (Eds.). ACM, 83–87. https://doi.org/10.1145/3357766.3359542
[53]
Manos Renieris and Steven P. Reiss. 2003. Fault Localization With Nearest Neighbor Queries. In 18th IEEE International Conference on Automated Software Engineering (ASE 2003), 6-10 October 2003, Montreal, Canada. IEEE Computer Society, 30–39. https://doi.org/10.1109/ASE.2003.1240292
[54]
Christoff Rossouw and Bernd Fischer. 2020. Test case generation from context-free grammars using generalized traversal of LR-automata. In Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, November 16-17, 2020, Ralf Lämmel, Laurence Tratt, and Juan de Lara (Eds.). ACM, 133–139. https://doi.org/10.1145/3426425.3426938
[55]
Diptikalyan Saha and Vishal Narula. 2011. Gramin: a system for incremental learning of programming language grammars. In Proceeding of the 4th Annual India Software Engineering Conference, ISEC 2011, Thiruvananthapuram, Kerala, India, February 24-27, 2011, Arun Bahulkar, K. Kesavasamy, T. V. Prabhakar, and Gautam Shroff (Eds.). ACM, 185–194. https://doi.org/10.1145/1953355.1953380
[56]
Ripon K. Saha, Yingjun Lyu, Hiroaki Yoshida, and Mukul R. Prasad. 2017. ELIXIR: effective object oriented program repair. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, ASE 2017, Urbana, IL, USA, October 30 - November 03, 2017, Grigore Rosu, Massimiliano Di Penta, and Tien N. Nguyen (Eds.). IEEE Computer Society, 648–659. https://doi.org/10.1109/ASE.2017.8115675
[57]
Yasubumi Sakakibara. 1997. Recent Advances of Grammatical Inference. Theor. Comput. Sci., 185, 1 (1997), 15–45. https://doi.org/10.1016/S0304-3975(97)00014-5
[58]
Ray J. Solomonoff. 1959. A new method for discovering the grammars of phrase structure languages. In Information Processing, Proceedings of the 1st International Conference on Information Processing, UNESCO, Paris 15-20 June 1959. UNESCO (Paris), 285–289.
[59]
Andrew Stevenson and James R. Cordy. 2014. A survey of grammatical inference in software engineering. Sci. Comput. Program., 96 (2014), 444–459. https://doi.org/10.1016/j.scico.2014.05.008
[60]
Phillip van Heerden, Moeketsi Raselimo, Konstantinos Sagonas, and Bernd Fischer. 2020. Grammar-based testing for little languages: an experience report with student compilers. In Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2020, Virtual Event, USA, November 16-17, 2020, Ralf Lämmel, Laurence Tratt, and Juan de Lara (Eds.). ACM, 253–269. https://doi.org/10.1145/3426425.3426946
[61]
Spandan Veggalam, Sanjay Rawat, István Haller, and Herbert Bos. 2016. IFuzzer: An Evolutionary Interpreter Fuzzer Using Genetic Programming. In Computer Security - ESORICS 2016 - 21st European Symposium on Research in Computer Security, Heraklion, Greece, September 26-30, 2016, Proceedings, Part I, Ioannis G. Askoxylakis, Sotiris Ioannidis, Sokratis K. Katsikas, and Catherine A. Meadows (Eds.) (Lecture Notes in Computer Science, Vol. 9878). Springer, 581–601. https://doi.org/10.1007/978-3-319-45744-4_29
[62]
Junjie Wang, Bihuan Chen, Lei Wei, and Yang Liu. 2017. Skyfire: Data-Driven Seed Generation for Fuzzing. In 2017 IEEE Symposium on Security and Privacy, SP 2017, San Jose, CA, USA, May 22-26, 2017. IEEE Computer Society, 579–594. https://doi.org/10.1109/SP.2017.23
[63]
Kaiyuan Wang, Allison Sullivan, and Sarfraz Khurshid. 2018. Automated model repair for Alloy. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, ASE 2018, Montpellier, France, September 3-7, 2018, Marianne Huchard, Christian Kästner, and Gordon Fraser (Eds.). ACM, 577–588. https://doi.org/10.1145/3238147.3238162
[64]
Westley Weimer, ThanhVu Nguyen, Claire Le Goues, and Stephanie Forrest. 2009. Automatically finding patches using genetic programming. In 31st International Conference on Software Engineering, ICSE 2009, May 16-24, 2009, Vancouver, Canada, Proceedings. IEEE, 364–374. https://doi.org/10.1109/ICSE.2009.5070536
[65]
W. Eric Wong, Vidroha Debroy, Ruizhi Gao, and Yihao Li. 2014. The DStar Method for Effective Software Fault Localization. IEEE Trans. Reliab., 63, 1 (2014), 290–308. https://doi.org/10.1109/TR.2013.2285319
[66]
Xiaozhen Xue and Akbar Siami Namin. 2013. How Significant is the Effect of Fault Interactions on Coverage-Based Fault Localizations? In 2013 ACM / IEEE International Symposium on Empirical Software Engineering and Measurement, Baltimore, Maryland, USA, October 10-11, 2013. IEEE Computer Society, 113–122. https://doi.org/10.1109/ESEM.2013.22
[67]
Vadim Zaytsev. 2009. Language Convergence Infrastructure. In Generative and Transformational Techniques in Software Engineering III - International Summer School, GTTSE 2009, Braga, Portugal, July 6-11, 2009. Revised Papers, João M. Fernandes, Ralf Lämmel, Joost Visser, and João Saraiva (Eds.) (Lecture Notes in Computer Science, Vol. 6491). Springer, 481–497. https://doi.org/10.1007/978-3-642-18023-1_16
[68]
Vadim Zaytsev. 2010. Recovery, Convergence and Documentation of Languages.
[69]
Vadim Zaytsev. 2014. Negotiated Grammar Evolution. J. Object Technol., 13, 3 (2014), 1: 1–22. https://doi.org/10.5381/jot.2014.13.3.a1
[70]
Sergey V. Zelenov and Sophia A. Zelenova. 2005. Generation of Positive and Negative Tests for Parsers. Program. Comput. Softw., 31, 6 (2005), 310–320. https://doi.org/10.1007/s11086-005-0040-6

Cited By

View all
  • (2024)Grammar-based test suite construction using coverage-directed algorithms over LR-graphsJournal of Systems and Software10.1016/j.jss.2024.112068214:COnline publication date: 1-Aug-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2021: Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering
October 2021
176 pages
ISBN:9781450391115
DOI:10.1145/3486608
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 November 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Fault localization
  2. Program repair

Qualifiers

  • Research-article

Funding Sources

Conference

SLE '21
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)192
  • Downloads (Last 6 weeks)24
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Grammar-based test suite construction using coverage-directed algorithms over LR-graphsJournal of Systems and Software10.1016/j.jss.2024.112068214:COnline publication date: 1-Aug-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media