首页> 外文会议>IEEE International Conference on Software Maintenance >Detecting semantic changes in Makefile build code
【24h】

Detecting semantic changes in Makefile build code

机译:检测Makefile构建代码中的语义更改

获取原文

摘要

Build code in a Makefile represents the build rules with the dependencies among the files, and how they must be built together to produce a software system. As software evolves, its build code evolves as well to accommodate necessary changes in the build process. As part of software maintenance, it is crucial to understand how the build code is changed (e.g. changes in build rules or dependencies), and to verify and validate the correctness of the build process with different build configurations. Due to Make's dynamic nature, understanding and managing the changes to Makefiles is not trivial. In this paper, we introduce a set of semantic changes to build code in Makefiles. We also develop MkDiff, a tool to detect the changes to a Makefile at the semantic level. MkDiff uses symbolic dependency graphs (SDG) to find all possible concrete rules from a Makefile, and the dependencies among them. For two SDGs built from a Makefile at two versions, it first detects changed and unchanged nodes via its SDG matching algorithm. Then, from those results, it derives the semantic changes to the Makefile. Our empirical evaluation for MkDiff showed that it can accurately detect semantic changes in Makefiles.
机译:Makefile中的构建代码表示具有文件之间的依赖性的构建规则,以及如何构建它们以生成软件系统。随着软件的发展,它的构建代码也会发展,以适应构建过程的必要变化。作为软件维护的一部分,了解构建代码如何更改(例如,构建规则或依赖项的更改)至关重要,并验证和验证构建过程的正确性,具有不同的构建配置。由于使动态性质,理解和管理Makefiles的更改并不琐碎。在本文中,我们介绍了一组语义更改,以在Makefiles中构建代码。我们还开发MKDIFF,该工具可以在语义级别检测到Makefile的更改。 MKDIFF使用符号依赖关系图(SDG)来查找来自Makefile的所有可能的具体规则以及其中的依赖项。对于两个版本的Makefile构建的两个SDG,它首先通过其SDG匹配算法检测更改和不变的节点。然后,从那些结果中,它会导致Makefile的语义更改。我们对MKDIFF的实证评估表明它可以准确地检测Makefiles的语义变化。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号