[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/318593.318648acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Smart recompilation

Published: 01 January 1985 Publication History

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 definitions, 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 actually affect only a small fraction of the overall system.
This paper presents an efficient method for significantly reducing the set of modules that must be recompiled after a change. The method is based on reference sets and the isolation of differences. The cost of determining whether recompilation is necessary is negligible compared to the cost of compilation. The method is easily added to existing compilers, and can be extended to provide guidance to programmers if the change requires software updates.

References

[1]
1. Ichbiah, Jean D., Ada Programming Language, Military Standard. United States Department of Defense (Jan. 1983).
[2]
2. Mitchell, James G., Maybury. William, and Sweet, Richard, Mesa Language Marunal. Technical Report, Xerox Palo Alto Research Center (Feb. 1978).
[3]
3. Birtwistle, G., Enderin, L., Ohlin, M., and Palme, J., "DEC system-10 Simula Language Handbook Part 1." c8398. Swedish National Defense Research Institute (March 1976).
[4]
4. Tichy, Walter F., "Software Development Control Based on Module Interconnection," pp. 272-284 in Software Development Environments, ed. Anthony I. Wasserman, IEEE Computer Society Press (1981). Also published in Proc. of the Fourth International Conference on Software Engineering, September 1979, IEEE.
[5]
5. Lauer, Hugh C. and Satterthwaite, Edwin H., "The Impact of Mesa on System Design," pp. 174-182 in Proceedings of the 4th International Conference on Software Engineering, ACM, IEEE, ERO, GI (Sept. 1979).
[6]
6. Feldman, Stuart I., "Make - A Program for Maintaining Computer Programs," Software - Proctice and Experience 9(3) p. 255-265 (March 1979).
[7]
7. Rochkind, Marc J., "The Source Code Control System," IEEE Transactions on Software Engineering SE- 1(4) p. 364-370 (Dec. 1975).
[8]
8. Leblang, David B. and Chase, Robert P., "Computer-Aided Software Engineering in a Distributed Workstation Environment," SIGPLAN Notices 19(5) p. 104-112 (May 1984). Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments.
[9]
9. Tichy, Walter F., "RCS - A System for Version Control," Software - Practice and Experience 15 (1985). to appear).
[10]
10. Tichy, Walter F., "A Data Model for Programming Support Environments and its Application," in Automated Tools for Information System Design and Development, ed. Hans-Jochen Schneider and Anthony I. Wasserman, North-Holland Publishing Company, Amsterdam (1982).
[11]
11. Dausmann, Manfred, "Reducing Recompilation Costs for Software Systems in Ada," in System Implementation Languages: Experience and Assessmnent, North Holland, Canterbury, UK (1984). Proceedings of the IFIP WG 2.4 Conference.
[12]
12. Feiler, Peter H. and Medina-Mora, Raul. "An Incremental Programming Environment," IEEE Transactions of Software Engineering SE-7(5) (September 1981).

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
POPL '85: Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
January 1985
340 pages
ISBN:0897911474
DOI:10.1145/318593
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: 01 January 1985

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 824 of 4,130 submissions, 20%

Upcoming Conference

POPL '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)12
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2006)TRICKACM SIGPLAN Notices10.1145/1229493.122949841:12(28-37)Online publication date: 1-Dec-2006
  • (2005)An overview of the CAPITL software development environmentSoftware Configuration Management10.1007/3-540-60578-9_1(1-34)Online publication date: 7-Jun-2005
  • (2005)Technological steps toward a software component industryProgramming Languages and System Architectures10.1007/3-540-57840-4_36(259-281)Online publication date: 31-May-2005
  • (2005)A model of software manufactureAdvanced Programming Environments10.1007/3-540-17189-4_99(197-220)Online publication date: 31-May-2005
  • (2005)Supporting flexible and efficient tool integrationAdvanced Programming Environments10.1007/3-540-17189-4_104(290-313)Online publication date: 31-May-2005
  • (2005)IDL: Past experience and new ideasAdvanced Programming Environments10.1007/3-540-17189-4_103(257-289)Online publication date: 31-May-2005
  • (1997)Extension mechanisms in MontanaProceedings of the Eighth Israeli Conference on Computer Systems and Software Engineering10.1109/ICCSSE.1997.599883(119-128)Online publication date: 1997
  • (1995)A framework for selective recompilation in the presence of complex intermodule dependenciesProceedings of the 17th international conference on Software engineering10.1145/225014.225035(221-230)Online publication date: 23-Apr-1995
  • (1993)Compositional analysis of modular logic programsProceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/158511.158703(451-464)Online publication date: 1-Mar-1993
  • (1993)Reducing compilation time by a compilation serverSoftware—Practice & Experience10.1002/spe.438023050423:5(477-485)Online publication date: 1-May-1993
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media