Proceedings

Anti-unification and Generalization: A Survey

Download BibTeX Cite

Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence. Survey Track. Pages 6563-6573.

https://doi.org/10.24963/ijcai.2023/736

Abstract

Anti-unification (AU) is a fundamental operation for generalization computation used for inductive inference. It is the dual operation to unification, an operation at the foundation of automated theorem proving. Interest in AU from the AI and related communities is growing, but without a systematic study of the concept nor surveys of existing work, investigations often resort to developing application-specific methods that existing approaches may cover. We provide the first survey of AU research and its applications and a general framework for categorizing existing and future developments.

  1. [Aït-Kaci and Pasi, 2020] Hassan Aït-Kaci and Gabriella Pasi. Fuzzy lattice operations on first-order terms over signatures with similar constructors: A constraint-based approach. Fuzzy Sets and Systems, 391:1-46, 2020.
  2. [Aït-Kaci and Sasaki, 2001] Hassan Aït-Kaci and Yutaka Sasaki. An axiomatic approach to feature term general- ization. In EMCL. Springer, 2001.
  3. [Alpuente et al., 2014] María Alpuente, Santiago Escobar, Javier Espert, and José Meseguer. A modular order-sorted equational generalization algorithm. Inf. Comput., 235:98- 136, 2014.
  4. [Alpuente et al., 2022] María Alpuente, Santiago Escobar, José Meseguer, and Julia Sapiña. Order-sorted equational generalization algorithm revisited. Ann. Math. Artif. Intell., 90(5):499-522, 2022.
  5. [Armengol and Plaza, 2000] Eva Armengol and Enric Plaza. Bottom-up induction of feature terms. Mach. Learn., 41(3):259-294, 2000.
  6. [Arusoaie and Lucanu, 2022] Andrei Arusoaie and Dorel Lu- canu. Proof-carrying parameters in certified symbolic ex- ecution: The case study of antiunification. In FROM, EPTCS, 2022.
  7. [Baader and Snyder, 2001] Franz Baader and Wayne Snyder. Unification theory. In Handbook of Automated Reasoning. Elsevier, 2001.
  8. [Baader et al., 1999] Franz Baader, Ralf Küsters, and Ralf Molitor. Computing least common subsumers in descrip- tion logics with existential restrictions. In IJCAI. IJCAI
  9. Morgan Kaufmann, 1999.
  10. [Baader et al., 2007] Franz Baader, Baris Sertkaya, and Anni- Yasmin Turhan. Computing the least common subsumer w.r.t. a background terminology. J. Appl. Log., 5(3):392- 420, 2007.
  11. [Baader, 1991] Franz Baader. Unification, weak unification, upper bound, lower bound, and generalization problems. In RTA, LNCS, 1991.
  12. [Bader et al., 2019] Johannes Bader, Andrew Scott, Michael Pradel, and Satish Chandra. Getafix: learning to fix bugs automatically. Proc. ACM Program. Lang., 3(OOPSLA), 2019.
  13. [Barendregt et al., 2013] Hendrik Pieter Barendregt, Wil Dekkers, and Richard Statman. Lambda Calculus with Types. Perspectives in logic. Cambridge University Press, 2013.
  14. [Barwell et al., 2018] Adam D. Barwell, Christopher Brown, and Kevin Hammond. Finding parallel functional pearls: Automatic parallel recursion scheme detection in Haskell functions via anti-unification. Future Gener. Comput. Syst., 79:669-686, 2018.
  15. [Baumgartner and Kutsia, 2017] Alexander Baumgartner and Temur Kutsia. Unranked second-order anti-unification. Inf. Comput., 255:262-286, 2017.
  16. [Baumgartner et al., 2015] Alexander Baumgartner, Temur Kutsia, Jordi Levy, and Mateu Villaret. Nominal anti- unification. In RTA, LIPIcs, 2015.
  17. [Baumgartner et al., 2017] Alexander Baumgartner, Temur Kutsia, Jordi Levy, and Mateu Villaret. Higher-order pat- tern anti-unification in linear time. J. Autom. Reason., 58(2):293-310, 2017.
  18. [Baumgartner et al., 2018] Alexander Baumgartner, Temur Kutsia, Jordi Levy, and Mateu Villaret. Term-graph anti- unification. In FSCD, LIPIcs, 2018.
  19. [Biere, 1993] Armin Biere. Normalisation, unification and generalisation in free monoids. Master's thesis, University of Karlsruhe, 1993.
  20. [Bowers et al., 2023] Matthew Bowers, Theo X. Olausson, Lionel Wong, Gabriel Grand, Joshua B. Tenenbaum, Kevin Ellis, and Armando Solar-Lezama. Top-down synthesis for library learning. Proc. ACM Program. Lang., 7(POPL), 2023.
  21. [Bulychev and Minea, 2008] Peter Bulychev and Marius Minea. Duplicate code detection using anti-unification. In SYRCOSE, 2008.
  22. [Bulychev et al., 2009] Peter E. Bulychev, Egor V. Kostylev, and Vladimir A. Zakharov. Anti-unification algorithms and their applications in program analysis. In PSI, LNCS, 2009.
  23. [Burghardt, 2005] Jochen Burghardt. E-generalization using grammars. Artif. Intell., 165(1):1-35, 2005.
  24. [Cao et al., 2023] David Cao, Rose Kunkel, Chandrakana Nandi, Max Willsey, Zachary Tatlock, and Nadia Polikar- pova. Babble: Learning better abstractions with e-graphs and anti-unification. Proc. ACM Program. Lang., 7(POPL), 2023.
  25. [Cerna and Buran, 2022] David M. Cerna and Michal Buran. One or nothing: Anti-unification over the simply-typed lambda calculus. CoRR, abs/2207.08918, 2022.
  26. [Cerna and Cropper, 2023] David M. Cerna and Andrew Cropper. Generalisation through negation and predicate invention. CoRR, abs/2301.07629, 2023.
  27. [Cerna and Kutsia, 2019] David M. Cerna and Temur Kutsia. A generic framework for higher-order generalizations. In FSCD, LIPIcs, 2019.
  28. [Cerna and Kutsia, 2020a] David M. Cerna and Temur Kut- sia. Higher-order pattern generalization modulo equational theories. Math. Struct. Comput. Sci., 30(6):627-663, 2020.
  29. [Cerna and Kutsia, 2020b] David M. Cerna and Temur Kut- sia. Idempotent anti-unification. ACM Trans. Comput. Log., 21(2):10:1-10:32, 2020.
  30. [Cerna and Kutsia, 2020c] David M. Cerna and Temur Kut- sia. Unital anti-unification: Type and algorithms. In FSCD, LIPIcs, 2020.
  31. [Cerna, 2020] David M. Cerna. Anti-unification and the the- ory of semirings. Theor. Comput. Sci., 848:133-139, 2020.
  32. [Clavel et al., 2002] Manuel Clavel, Francisco Durán, Steven Eker, Patrick Lincoln, Narciso Martí-Oliet, José Meseguer, and Jose F. Quesada. Maude: specification and program- ming in rewriting logic. Theor. Comput. Sci., 285(2):187- 243, 2002.
  33. [Cohen and Hirsh, 1994] William W. Cohen and Haym Hirsh. Learning the classic description logic: Theoretical and experimental results. In KR. Morgan Kaufmann, 1994.
  34. [Cropper and Morel, 2021] Andrew Cropper and Rolf Morel. Learning programs by learning from failures. Mach. Learn., 110(4):801-856, 2021.
  35. [Cropper et al., 2022] Andrew Cropper, Sebastijan Duman- cic, Richard Evans, and Stephen H. Muggleton. Inductive logic programming at 30. Mach. Learn., 111(1):147-172, 2022.
  36. [de Sousa et al., 2021] Reudismam Rolim de Sousa, Gustavo Soares, Rohit Gheyi, Titus Barik, and Loris D'Antoni. Learning quick fixes from code repositories. In SBES. ACM, 2021.
  37. [Dong et al., 2022] Rui Dong, Zhicheng Huang, Ian Iong Lam, Yan Chen, and Xinyu Wang. Webrobot: Web robotic process automation using interactive programming- by-demonstration. In PLDI. ACM, 2022.
  38. [Ellis et al., 2021] Kevin Ellis, Catherine Wong, Maxwell Nye, Mathias Sablé-Meyer, Lucas Morales, Luke Hewitt, Luc Cary, Armando Solar-Lezama, and Joshua B. Tenen- baum. Dreamcoder: Bootstrapping inductive program syn- thesis with wake-sleep library learning. In PLDI. ACM, 2021.
  39. [Feng and Muggleton, 1992] Cao Feng and Stephen H. Mug- gleton. Towards inductive generalization in higher order logic. In ML. Morgan Kaufmann, 1992.
  40. [Feser et al., 2015] John K. Feser, Swarat Chaudhuri, and Isil Dillig. Synthesizing data structure transformations from input-output examples. In PLDI. ACM, 2015.
  41. [Galitsky, 2019] Boris Galitsky. Developing Enterprise Chat- bots -Learning Linguistic Structures. Springer, 2019.
  42. [Guhe et al., 2011] Markus Guhe, Alison Pease, Alan Smaill, Maricarmen Martinez, Martin Schmidt, Helmar Gust, Kai- Uwe Kühnberger, and Ulf Krumnack. A computational account of conceptual blending in basic mathematics. Cog- nitive Systems Research, 12(3):249-265, 2011.
  43. [Gulwani, 2011] Sumit Gulwani. Automating string process- ing in spreadsheets using input-output examples. In POPL. ACM, 2011.
  44. [Gulwani, 2016] Sumit Gulwani. Programming by examples -and its applications in data wrangling. In NATO Science for Peace and Security Series, volume 45. IOS Press, 2016.
  45. [Hasker, 1995] Robert W. Hasker. The Replay Of Program Derivations. PhD thesis, University of Illinois at Urbana- Champaign, 1995.
  46. [Hofmann, 2010] Martin Hofmann. Igor2 -an analytical in- ductive functional programming system: Tool demo. In PEPM. ACM, 2010.
  47. [Huet, 1976] Gerard Huet. Résolution d' Équations dans des langages d'ordre 1, 2, . . . , ω. These d' État, Université de Paris VII, 1976.
  48. [Idestam-Almquist, 1995] Peter Idestam-Almquist. General- ization of clauses under implication. J. Artif. Int. Res., 3(1):467-489, 1995.
  49. [Idestam-Almquist, 1997] Peter Idestam-Almquist. Gener- alization of clauses relative to a theory. Mach. Learn., 26(2-3):213-226, 1997.
  50. [Johansson et al., 2011] Moa Johansson, Lucas Dixon, and Alan Bundy. Conjecture synthesis for inductive theories. J. Autom. Reason., 47(3):251-289, 2011.
  51. [Jung et al., 2020] Jean Christoph Jung, Carsten Lutz, and Frank Wolter. Least general generalizations in description logic: Verification and existence. In AAAI. AAAI Press, 2020.
  52. [Kitzelmann and Schmid, 2006] Emanuel Kitzelmann and Ute Schmid. Inductive synthesis of functional programs: An explanation based generalization approach. J. Mach. Learn. Res., 7:429-454, 2006.
  53. [Konev and Kutsia, 2016] Boris Konev and Temur Kutsia. Anti-unification of concepts in description logic EL. In KR. AAAI Press, 2016.
  54. [Krumnack et al., 2007] Ulf Krumnack, Angela Schwering, Helmar Gust, and Kai-Uwe Kühnberger. Restricted higher- order anti-unification for analogy making. In AI, LNCS, 2007.
  55. [Küsters and Molitor, 2001] Ralf Küsters and Ralf Molitor. Computing least common subsumers in ALEN. In IJCAI. IJCAI
  56. Morgan Kaufmann, 2001.
  57. [Kutsia and Pau, 2022] Temur Kutsia and Cleo Pau. A frame- work for approximate generalization in quantitative theories. In IJCAR, LNCS, 2022.
  58. [Kutsia et al., 2014] Temur Kutsia, Jordi Levy, and Mateu Villaret. Anti-unification for unranked terms and hedges. J. Autom. Reason., 52(2):155-190, 2014.
  59. [Kuzelka et al., 2012] Ondrej Kuzelka, Andrea Szabóová, and Filip Zelezný. Bounded least general generalization. In ILP, LNCS, 2012.
  60. [Li and Thompson, 2010] Huiqing Li and Simon J. Thomp- son. Similar code detection and elimination for erlang programs. In PADL, LNCS, 2010.
  61. [Libal and Miller, 2022] Tomer Libal and Dale Miller. Functions-as-constructors higher-order unification: ex- tended pattern unification. Ann. Math. Artif. Intell., 90(5):455-479, 2022.
  62. [Lu et al., 2000] Jianguo Lu, John Mylopoulos, Masateru Harao, and Masami Hagiyab. Higher order generaliza- tion and its application in program verification. Ann. Math. Artif. Intell., 28(1-4):107-126, 2000.
  63. [Martínez et al., 2017] Maricarmen Martínez, Ahmed M. H. Abdel-Fattah, Ulf Krumnack, Danny Gómez-Ramírez, Alan Smaill, Tarek Richard Besold, Alison Pease, Martin Schmidt, Markus Guhe, and Kai-Uwe Kühnberger. Theory blending: extended algorithmic aspects and examples. Ann. Math. Artif. Intell., 80(1):65-89, 2017.
  64. [Mehta et al., 2020] Sonu Mehta, Ranjita Bhagwan, Rahul Kumar, Chetan Bansal, Chandra Shekhar Maddila, Bala- subramanyan Ashok, Sumit Asthana, Christian Bird, and Aditya Kumar. Rex: Preventing bugs and misconfigura- tion in large services using correlated change analysis. In USENIX. USENIX Association, 2020.
  65. [Mitchell, 1982] Tom M. Mitchell. Generalization as search. Artificial Intelligence, 18(2):203-226, 1982.
  66. [Muggleton et al., 2009] Stephen H. Muggleton, José Car- los Almeida Santos, and Alireza Tamaddoni-Nezhad. Pro- Golem: A system based on relative minimal generalisation. In ILP, LNCS, 2009.
  67. [Muggleton, 1995] Stephen H. Muggleton. Inverse entail- ment and Progol. New Gener. Comput., 13(3&4):245-286, 1995.
  68. [Ontañón and Plaza, 2007] Santiago Ontañón and Enric Plaza. Case-based learning from proactive communica- tion. In IJCAI. ijcai.org, 2007.
  69. [Pau, 2022] Cleo Pau. Symbolic Techniques for Approximate Reasoning. PhD thesis, RISC, Johannes Kepler University Linz, 2022.
  70. [Pfenning, 1991] Frank Pfenning. Unification and anti- unification in the calculus of constructions. In LICS. IEEE Computer Society, 1991.
  71. [Pientka, 2009] Brigitte Pientka. Higher-order term index- ing using substitution trees. ACM Trans. Comput. Log., 11(1):6:1-6:40, 2009.
  72. [Plotkin, 1970] Gordon D. Plotkin. A note on inductive gen- eralization. Machine Intell., 5(1):153-163, 1970.
  73. [Polozov and Gulwani, 2015] Oleksandr Polozov and Sumit Gulwani. Flashmeta: A framework for inductive program synthesis. SIGPLAN Not., 50(10):107-126, 2015.
  74. [Purgal et al., 2022] Stanislaw J. Purgal, David M. Cerna, and Cezary Kaliszyk. Learning higher-order logic programs from failures. In IJCAI. ijcai.org, 2022. IJCAI
  75. [Raza et al., 2014] Mohammad Raza, Sumit Gulwani, and Natasa Milic-Frayling. Programming by example using least general generalizations. In AAAI. AAAI Press, 2014.
  76. [Reynolds, 1970] John C. Reynolds. Transformational sys- tems and the algebraic structure of atomic formulas. Ma- chine Intell., 5(1):135-151, 1970.
  77. [Sakkas et al., 2020] Georgios Sakkas, Madeline Endres, Benjamin Cosman, Westley Weimer, and Ranjit Jhala. Type error feedback via analytic program repair. In PLDI. ACM, 2020.
  78. [Schmidt-Schauß and Nantes-Sobrinho, 2022] Manfred Schmidt-Schauß and Daniele Nantes-Sobrinho. Nominal anti-unification with atom-variables. In FSCD, LIPIcs, 2022.
  79. [Schwering et al., 2009] Angela Schwering, Ulf Krumnack, Kai-Uwe Kühnberger, and Helmar Gust. Syntactic princi- ples of heuristic-driven theory projection. Cognitive Sys- tems Research, 10(3):251-269, 2009.
  80. [Siddiq et al., 2021] Mohammed Latif Siddiq, Md. Rezwa- nur Rahman Jahin, Mohammad Rafid Ul Islam, Rifat Shahriyar, and Anindya Iqbal. SQLIFIX: Learning based approach to fix SQL injection vulnerabilities in source code. In SANER. IEEE, 2021.
  81. [Singher and Itzhaky, 2021] Eytan Singher and Shachar Itzhaky. Theory exploration powered by deductive syn- thesis. In CAV, LNCS, 2021.
  82. [Sinha, 2008] Nishant Sinha. Symbolic program analysis using term rewriting and generalization. In FMCAD. IEEE, 2008.
  83. [Sotoudeh and Thakur, 2020] Matthew Sotoudeh and Aditya V. Thakur. Analogy-making as a core primitive in the software engineering toolbox. In Onward! ACM, 2020.
  84. [Srinivasan, 2001] Ashwin Srinivasan. The ALEPH manual. Machine Learning at the Computing Laboratory, Oxford University, 2001.
  85. [Vanhoof and Yernaux, 2019] Wim Vanhoof and Gonzague Yernaux. Generalization-driven semantic clone detection in CLP. In LOPSTR, LNCS, 2019.
  86. [Weller and Schmid, 2006] Stephan Weller and Ute Schmid. Solving proportional analogies by E -generalization. In KI, LNCS, 2006.
  87. [Winter et al., 2022] Emily Rowan Winter, Vesna Nowack, David Bowes, Steve Counsell, Tracy Hall, Sæ- mundur Óskar Haraldsson, John R. Woodward, Serkan Kirbas, Etienne Windels, Olayori McBello, Abdurahman Atakishiyev, Kevin Kells, and Matthew W. Pagano. To- wards developer-centered automatic program repair: find- ings from Bloomberg. In ESEC/FSE. ACM, 2022.
  88. [Yamamoto et al., 2001] Akihiro Yamamoto, Kimihito Ito, Akira Ishino, and Hiroki Arimura. Modelling semi- structured documents with hedges for deduction and in- duction. In ILP, LNCS, 2001.
  89. [Yang and Deng, 2021] Kaiyu Yang and Jia Deng. Learn- ing symbolic rules for reasoning in quasi-natural language. CoRR, abs/2111.12038, 2021.
  90. [Yernaux and Vanhoof, 2022a] Gonzague Yernaux and Wim Vanhoof. Anti-unification of unordered goals. In EACSL, LIPIcs, 2022.
  91. [Yernaux and Vanhoof, 2022b] Gonzague Yernaux and Wim Vanhoof. On detecting semantic clones in constraint logic programs. In IWSC. IEEE, 2022.
  92. [Zhang et al., 2022] Yuhao Zhang, Yasharth Bajpai, Priyan- shu Gupta, Ameya Ketkar, Miltiadis Allamanis, Titus Barik, Sumit Gulwani, Arjun Radhakrishna, Mohammad Raza, Gustavo Soares, and Ashish Tiwari. Overwatch: Learn- ing patterns in code edit sequences. Proc. ACM Program. Lang., 6(OOPSLA), 2022.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards