Towards summarizing program statements in source code search

Towards summarizing program statements in source code search
复制标题

在源代码搜索中总结程序语句

DOI:
10.1145/3341105.3374055
复制
发表时间:
2020
期刊:
Proceedings of the 35th Annual ACM Symposium on Applied Computing
影响因子:
--
通讯作者:
Rivero, Carlos R.
Rivero, Carlos R.
中科院分区:
--
文献类型:
--
作者:
Marin, Victor J.;Bansal, Iti;Rivero, Carlos R.

文献摘要

参考文献

相似文献

程序员的常见做法是使用搜索引擎查找源代码片段。这些引擎检索的程序通常在语义上相似,但不一定在语法上相似。因此,利用排名方法向用户呈现相关节目。然而,由于实现的可变性,用户需要理解此类程序。在本文中,我们提出了一种方法,将源代码搜索引擎检索到的一组程序中的语句分组为簇。每个簇都包含许多具有相似但不精确语义并且普遍存在的程序语句。我们的假设是,这样的集群有助于一目了然地理解一组语义相关的程序。我们使用近似图对齐来查找两个程序依赖图中的语句之间的对应关系,这些语句在控制和数据流以及它们执行的操作方面相似。然后,我们通过程序依赖图的成对比较来构建一个图,并将聚类语句的问题转化为寻找一致对齐的语句社区。我们使用 BigCloneBench 收集的程序进行的评估表明,我们的方法发现的语句簇有助于辨别实现差异。
A common practice among programmers is to find pieces of source code using search engines. Programs retrieved by these engines are typically semantically but not necessarily syntactically similar. As a result, ranking methods are exploited to present relevant programs to users. However, due to implementation variability, users need to understand such programs. In this paper, we propose a method to group statements into clusters from a set of programs retrieved by a source code search engine. Each cluster comprises a number of program statements that have similar but not exact semantics and are pervasive. Our hypothesis is that such clusters help understand at a glance a set of semantically-related programs. We use approximate graph alignment to find correspondences among statements in two program dependence graphs that are similar with respect to their control and data flows, as well as operations they perform. We then build a graph with pairwise comparisons of program dependence graphs, and cast the problem of clustering statements as finding communities of statements that consistently align. Our evaluation using programs collected by BigCloneBench shows that clusters of statements discovered by our approach help discern implementation variations.
使用 C4.5 决策树分类器识别排序算法
DOI: --
发表时间: 2010
期刊: IEEE International Conference on Program Comprehension
影响因子: --
作者:
Ahmad Taherkhani
通讯作者: Ahmad Taherkhani
理解多阶段:提炼java代码示例的本质
DOI: 10.1109/icpc.2016.7503708
发表时间: 2016
期刊: 2016 IEEE 24th International Conference on Program Comprehension (ICPC)
影响因子: --
作者:
H. Sánchez;J. Whitehead;Martin Schaf
通讯作者: Martin Schaf
相同性:代码搜索的实验
DOI: --
发表时间: 2015
期刊: 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories
影响因子: --
作者:
Lee Martie;A. Hoek
通讯作者: A. Hoek