skip to main content
10.1145/2554850.2555134acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Build system analysis with link prediction

Published: 24 March 2014 Publication History

Abstract

Compilation is an important step in building working software system. To compile large systems, typically build systems, such as make, are used. In this paper, we investigate a new research problem for build configuration file (e.g., Makefile) analysis: how to predict missed dependencies in a build configuration file. We refer to this problem as dependency mining. Based on a Makefile, we build a dependency graph capturing various relationships defined in the Makefile. By representing a Makefile as a dependency graph, we map the dependency mining problem to a link prediction problem, and leverage 9 state-of-the-art link prediction algorithms to solve it. We collected Makefiles from 7 open source projects to evaluate the effectiveness of the algorithms.

References

[1]
L. Lü and T. Zhou, "Link prediction in complex networks: A survey," Physica A: Statistical Mechanics and its Applications, pp. 1150--1170, 2011.
[2]
B. Adams, H. Tromp, K. De Schutter, and W. De Meuter, "Design recovery and maintenance of build systems," in ICSM, 2007, pp. 114--123.
[3]
S. McIntosh, B. Adams, T. Nguyen, Y. Kamei, and A. Hassan, "An empirical study of build maintenance effort," in ICSE, 2011, pp. 141--150.
[4]
B. Adams, K. De Schutter, H. Tromp, and W. De Meuter, "The evolution of the linux build system," EASST, 2008.
[5]
S. McIntosh, B. Adams, and A. Hassan, "The evolution of ant build systems," in MSR, 2010.
[6]
R. Suvorov, M. Nagappan, A. Hassan, Y. Zou, and B. Adams, "An empirical study of build system migrations in practice: Case studies on kde and the linux kernel," in ICSM, 2012.
[7]
A. Neitsch, K. Wong, and M. Godfrey, "Build system issues in multilanguage software," in ICSM, 2012.
[8]
Q. Tu and M. Godfrey, "The build-time software architecture view," in ICSM, 2001.
[9]
A. Tamrawi, H. Nguyen, H. Nguyen, and T. Nguyen, "Build code analysis with symbolic evaluation," in ICSE, 2012, pp. 650--660.
[10]
A. Tamrawi, H. Nguyen, H. Nguyen, and T. Nguyen, "Symake: a build code analysis and refactoring tool for makefiles," in ASE. ACM, 2012, pp. 366--369.
[11]
X. Xia, X. Zhou, D. Lo, and X. Zhao, "An empirical study of bugs in software build systems," in QSIC, 2013, pp. 200--203.
[12]
X. Zhao, X. Xia, P. Kochhar, D. Lo, and S. Li, "An empirical study of bugs in build process," in SAC, 2014.

Cited By

View all
  • (2024)Towards Efficient Build Ordering for Incremental Builds with Multiple ConfigurationsProceedings of the ACM on Software Engineering10.1145/36607741:FSE(1494-1517)Online publication date: 12-Jul-2024
  • (2024)Detecting Build Dependency Errors in Incremental BuildsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652105(1-12)Online publication date: 11-Sep-2024
  • (2022)Accelerating Build Dependency Error Detection via Virtual BuildProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3556930(1-12)Online publication date: 10-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied Computing
March 2014
1890 pages
ISBN:9781450324694
DOI:10.1145/2554850
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 24 March 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. build system
  2. link prediction
  3. makefile

Qualifiers

  • Research-article

Funding Sources

Conference

SAC 2014
Sponsor:
SAC 2014: Symposium on Applied Computing
March 24 - 28, 2014
Gyeongju, Republic of Korea

Acceptance Rates

SAC '14 Paper Acceptance Rate 218 of 939 submissions, 23%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Upcoming Conference

SAC '25
The 40th ACM/SIGAPP Symposium on Applied Computing
March 31 - April 4, 2025
Catania , Italy

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Towards Efficient Build Ordering for Incremental Builds with Multiple ConfigurationsProceedings of the ACM on Software Engineering10.1145/36607741:FSE(1494-1517)Online publication date: 12-Jul-2024
  • (2024)Detecting Build Dependency Errors in Incremental BuildsProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652105(1-12)Online publication date: 11-Sep-2024
  • (2022)Accelerating Build Dependency Error Detection via Virtual BuildProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3556930(1-12)Online publication date: 10-Oct-2022
  • (2021)The nature of build changesEmpirical Software Engineering10.1007/s10664-020-09926-426:3Online publication date: 16-Mar-2021
  • (2020)Escaping dependency hell: finding build dependency errors with the unified dependency graphProceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3395363.3397388(463-474)Online publication date: 18-Jul-2020
  • (2018)Automatically repairing dependency-related build breakage2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER.2018.8330201(106-117)Online publication date: Mar-2018
  • (2017)Extracting build changes with BuildDiffProceedings of the 14th International Conference on Mining Software Repositories10.1109/MSR.2017.65(368-378)Online publication date: 20-May-2017
  • (2017)An empirical study of unspecified dependencies in make-based build systemsEmpirical Software Engineering10.1007/s10664-017-9510-822:6(3117-3148)Online publication date: 1-Dec-2017
  • (2016)Predicting Build Co-changes with Source Code Change and Commit Categories2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)10.1109/SANER.2016.22(541-551)Online publication date: Mar-2016
  • (2014)Build PredictorProceedings of the 2014 IEEE 38th Annual Computer Software and Applications Conference10.1109/COMPSAC.2014.12(53-58)Online publication date: 21-Jul-2014

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media