• DocumentCode
    237269
  • Title

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

  • Author

    Bo Zhou ; Xin Xia ; Lo, Daniel ; Xinyu Wang

  • Author_Institution
    Coll. of Comput. Sci. & Technol., Zhejiang Univ., Hangzhou, China
  • fYear
    2014
  • fDate
    21-25 July 2014
  • Firstpage
    53
  • Lastpage
    58
  • Abstract
    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.
  • Keywords
    program compilers; public domain software; source code (software); Apache Portable Runtime; Tengine; Zlib; build configuration files; build predictor; executable program; human-readable source code compiling; link prediction algorithms; make file; make-based system; memcached; missed dependency prediction; nginx; open source projects; putty; software build system; source code dependency relationship; source code files; vim; Accuracy; Calculators; Educational institutions; Libraries; Prediction algorithms; Software; Software algorithms; Build Graph; Build System; Code Graph; Link Prediction; Makefile;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications Conference (COMPSAC), 2014 IEEE 38th Annual
  • Conference_Location
    Vasteras
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2014.12
  • Filename
    6899200