Abstract
With current compiler technology, changing a single line in a large software system may trigger massive recompilations. If the change occurs in a file with shared declarations, all compilation units depending upon that file must be recompiled to assure consistency. However, many of those recompilations may be redundant, because the change may affect only a small fraction of the overall system.
Smart recompilation is a method for reducing the set of modules that must be recompiled after a change. The method determines whether recompilation is necessary by isolating the differences among program modules and analyzing the effect of changes. The method is applicable to languages with and without overloading. A prototype demonstrates that the method is efficient and can be added with modest effort to existing compilers.
Publisher
Association for Computing Machinery (ACM)
Reference14 articles.
1. Ada Programming Language Military Standard. J. D. Ichbiah United States Department of Defense 1983. Ada Programming Language Military Standard. J. D. Ichbiah United States Department of Defense 1983.
2. A One-Pass Algorithm for Overload Resolution in Ada
3. Make — a program for maintaining computer programs
Cited by
56 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Options Matter: Documenting and Fixing Non-Reproducible Builds in Highly-Configurable Systems;Proceedings of the 21st International Conference on Mining Software Repositories;2024-04-15
2. Towards incremental build of software configurations;Proceedings of the ACM/IEEE 44th International Conference on Software Engineering: New Ideas and Emerging Results;2022-05-21
3. On the benefits and limits of incremental build of software configurations;Proceedings of the 44th International Conference on Software Engineering;2022-05-21
4. Towards Incremental Build of Software Configurations;2022 IEEE/ACM 44th International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER);2022-05
5. Decomposing Composite Changes for Code Review and Regression Test Selection in Evolving Software;Journal of Computer Science and Technology;2019-03