Anti-unification for Unranked Terms and Hedges

被引:0
作者
Temur Kutsia
Jordi Levy
Mateu Villaret
机构
[1] Johannes Kepler University,Research Institute for Symbolic Computation (RISC)
[2] Artificial Intelligence Research Institute (IIIA),Departament d’Informàtica i Matemàtica Aplicada (IMA)
[3] Spanish Council for Scientific Research (CSIC),undefined
[4] Universitat de Girona (UdG),undefined
来源
Journal of Automated Reasoning | 2014年 / 52卷
关键词
Anti-unification; Generalization; Unranked terms; Hedges; Software clones;
D O I
暂无
中图分类号
学科分类号
摘要
We study anti-unification for unranked terms and hedges that may contain term and hedge variables. The anti-unification problem of two hedges \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}${\tilde{s}}_1$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}${\tilde{s}}_2$\end{document} is concerned with finding their generalization, a hedge \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}${\tilde{q}}$\end{document} such that both \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}${\tilde{s}}_1$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}${\tilde{s}}_2$\end{document} are instances of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}${\tilde{q}}$\end{document} under some substitutions. Hedge variables help to fill in gaps in generalizations, while term variables abstract single (sub)terms with different top function symbols. First, we design a complete and minimal algorithm to compute least general generalizations. Then, we improve the efficiency of the algorithm by restricting possible alternatives permitted in the generalizations. The restrictions are imposed with the help of a rigidity function, which is a parameter in the improved algorithm and selects certain common subsequences from the hedges to be generalized. The obtained rigid anti-unification algorithm is further made more precise by permitting combination of hedge and term variables in generalizations. Finally, we indicate a possible application of the algorithm in software engineering.
引用
收藏
页码:155 / 190
页数:35
相关论文
共 35 条
  • [1] Alpuente M(2009)Order-sorted generalization Electr. Notes Theor. Comput. Sci. 246 27-38
  • [2] Escobar S(2000)Bottom-up induction of feature terms Mach. Learn. 41 259-294
  • [3] Meseguer J(2005)E-generalization using grammars Artif. Intell. 165 1-35
  • [4] Ojeda P(2006)Generalizing predicates with string arguments Appl. Intell. 25 23-36
  • [5] Armengol E(2010)Anti-patterns for rule-based languages J. Symb. Comput. 45 523-550
  • [6] Plaza E(1992)Efficient parallel term matching and anti-unification J. Autom. Reasoning 9 391-406
  • [7] Burghardt J(2009)Clone detection via structural abstraction Softw. Qual. J. 17 309-330
  • [8] Cicekli I(2006)Inductive synthesis of functional programs: an explanation based generalization approach J. Mach. Learn. Res. 7 429-454
  • [9] Cicekli NK(2007)Solving equations with sequence variables and sequence functions J. Symb. Comput. 42 352-388
  • [10] Cirstea H(2008)Flat matching J. Symb. Comput. 43 858-873