Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files

Software build system (e.g., Make) plays an important role in compiling human-readable source code into an executable program. One feature of build system such as make-based system is that it would use a build configuration file (e.g., Make file) to record the dependencies among different target and...

Full description

Saved in:
Bibliographic Details
Main Authors: Zhou, Bo, Xin, Xia, LO, David, Wang, Xinyu
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2014
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/2417
http://dx.doi.org/10.1109/COMPSAC.2014.12
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-3417
record_format dspace
spelling sg-smu-ink.sis_research-34172015-11-15T03:13:34Z Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files Zhou, Bo Xin, Xia LO, David Wang, Xinyu Software build system (e.g., Make) plays an important role in compiling human-readable source code into an executable program. One feature of build system such as make-based system is that it would use a build configuration file (e.g., Make file) to record the dependencies among different target and source code files. However, sometimes important dependencies would be missed in a build configuration file, which would cause additional debugging effort to fix it. In this paper, we propose a novel algorithm named Build Predictor to mine the missed dependncies. We first analyze dependencies in a build configuration file (e.g., Make file), and establish a dependency graph which captures various dependencies in the build configuration file. Next, considering that a build configuration file is constructed based on the source code dependency relationship, we establish a code dependency graph (code graph). Build Predictor is a composite model, which combines both dependency graph and code graph, to achieve a high prediction performance. We collected 7 build configuration files from various open source projects, which are Zlib, putty, vim, Apache Portable Runtime (APR), memcached, nginx, and Tengine, to evaluate the effectiveness of our algorithm. The experiment results show that compared with the state-of-the-art link prediction algorithms used by Xia et al., our Build Predictor achieves the best performance in predicting the missed dependencies. 2014-07-01T07:00:00Z text https://ink.library.smu.edu.sg/sis_research/2417 info:doi/10.1109/COMPSAC.2014.12 http://dx.doi.org/10.1109/COMPSAC.2014.12 Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Software Engineering
spellingShingle Software Engineering
Zhou, Bo
Xin, Xia
LO, David
Wang, Xinyu
Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files
description Software build system (e.g., Make) plays an important role in compiling human-readable source code into an executable program. One feature of build system such as make-based system is that it would use a build configuration file (e.g., Make file) to record the dependencies among different target and source code files. However, sometimes important dependencies would be missed in a build configuration file, which would cause additional debugging effort to fix it. In this paper, we propose a novel algorithm named Build Predictor to mine the missed dependncies. We first analyze dependencies in a build configuration file (e.g., Make file), and establish a dependency graph which captures various dependencies in the build configuration file. Next, considering that a build configuration file is constructed based on the source code dependency relationship, we establish a code dependency graph (code graph). Build Predictor is a composite model, which combines both dependency graph and code graph, to achieve a high prediction performance. We collected 7 build configuration files from various open source projects, which are Zlib, putty, vim, Apache Portable Runtime (APR), memcached, nginx, and Tengine, to evaluate the effectiveness of our algorithm. The experiment results show that compared with the state-of-the-art link prediction algorithms used by Xia et al., our Build Predictor achieves the best performance in predicting the missed dependencies.
format text
author Zhou, Bo
Xin, Xia
LO, David
Wang, Xinyu
author_facet Zhou, Bo
Xin, Xia
LO, David
Wang, Xinyu
author_sort Zhou, Bo
title Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files
title_short Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files
title_full Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files
title_fullStr Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files
title_full_unstemmed Build Predictor: More Accurate Missed Dependency Prediction in Build Configuration Files
title_sort build predictor: more accurate missed dependency prediction in build configuration files
publisher Institutional Knowledge at Singapore Management University
publishDate 2014
url https://ink.library.smu.edu.sg/sis_research/2417
http://dx.doi.org/10.1109/COMPSAC.2014.12
_version_ 1770572140098093056