Behavioral similarity matching using concrete source code templates in logic queries
Behavioral similarity matching using concrete source code templates in logic queries
复制标题
在逻辑查询中使用具体源代码模板进行行为相似度匹配
DOI:
10.1145/1244381.1244398
复制
发表时间:
2007
期刊:
影响因子:
--
通讯作者:
L. Duchien
中科院分区:
文献类型:
--
作者:
Coen De Roover;T. D'Hondt;J. Brichau;Carlos Noguera;L. Duchien
Program query languages and pattern-detection techniques are an essential part of program analysis and manipulation systems. Queries and patterns permit the identification of the parts of interest in a program's implementation through a representation dedicated to the intent of the system (e.g. call-graphs to detect behavioral flaws, abstract syntax trees for transformations, concrete source code to verify programming conventions, etc). This requires that developers understand and manage all the different representations and techniques in order to detect various patterns of interest. To alleviate this overhead, we present a logic-based language that allows the program's implementation to be queried using concrete source code templates. The queries are matched against a combination of structural and behavioral program representations, including call-graphs, points-to analysis results and abstract syntax trees. The result of our approach is that developers can detect patterns in the queried program using source code excerpts (embedded in logic queries) which act as prototypical samples of the structure and behavior they intend to match.