【24h】

Collective Program Analysis

机译:集体计划分析

获取原文

摘要

Popularity of data-driven software engineering has led to an increasing demand on the infrastructures to support efficient execution of tasks that require deeper source code analysis. While task optimization and parallelization are the adopted solutions, other research directions are less explored. We present collective program analysis (CPA), a technique for scaling large scale source code analyses, especially those that make use of control and data flow analysis, by leveraging analysis specific similarity. Analysis specific similarity is about, whether two or more programs can be considered similar for a given analysis. The key idea of collective program analysis is to cluster programs based on analysis specific similarity, such that running the analysis on one candidate in each cluster is sufficient to produce the result for others. For determining analysis specific similarity and clustering analysis-equivalent programs, we use a sparse representation and a canonical labeling scheme. Our evaluation shows that for a variety of source code analyses on a large dataset of programs, substantial reduction in the analysis time can be achieved; on average a 69% reduction when compared to a baseline and on average a 36% reduction when compared to a prior technique. We also found that a large amount of analysis-equivalent programs exists in large datasets.
机译:数据驱动的软件工程的普及导致对基础架构的需求越来越大,以支持需要更深入的源代码分析的任务的有效执行。虽然任务优化和并行化是采用的解决方案,但探索了其他研究方向。我们展示了集体计划分析(CPA),一种用于缩放大规模源代码分析的技术,尤其是利用分析特定相似性来利用控制和数据流分析的技术。分析具体相似度是关于,对于给定的分析,可以认为两个或更多个程序是否相似。集体计划分析的关键思想是基于分析特定相似性的群集程序,使得在每个群集中的一个候选者运行分析足以为他人产生结果。为了确定分析特定的相似性和聚类分析 - 等效程序,我们使用稀疏表示和规范标记方案。我们的评价表明,对于各种程序的各种源代码分析,可以实现分析时间的大幅减少;与现有技术相比,平均减少了69 %的减少,并且在与先前技术相比时平均减少36 %。我们还发现,大量分析等同的程序存在于大型数据集中。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号