|
ABSTRACT
When a single software module in a large system is modified, a potentially large number of other modules may have to be recompiled. By reducing both the number of compilations and the amount of input processed by each compilation run, the turnaround time after changes can be reduced significantly.
Potential time savings are measured in a medium-sized, industrial software project over a three-year period. The results indicate that a large number of compilations caused by traditional compilation unit dependencies may be redundant. On the available data, a mechanism that compares compiler output saves about 25 percent, smart recompilation saves 50 percent, and smartest recompilation may save up to 80 percent of compilation work.
Furthermore, all compilation methods other than smartest recompilation process large amounts of unused environment data. In the project analyzed, the average environment symbols are actually used. Reading only the actually used symbols would reduce total compiler input by about 50 percent.
Combining smart recompilation with a reduction in environment processing might double to triple perceived compilation speed and double linker speed, without sacrificing static type safety.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
BOO,SON, E. 1989. Program changes and the cost of selective recompilation. Ph.D. thesis, Lept. of Computer Science, Carnegie-Mellon Univ., Pittsburgh, Pa., July.
|
 |
3
|
|
| |
4
|
P. M. Cashin , M. L. Joliat , R. F. Kamel , D. M. Lasker, Experience with a modular typed language: PROTEL, Proceedings of the 5th international conference on Software engineering, p.136-143, March 09-12, 1981, San Diego, California, United States
|
| |
5
|
CCITT 1988. CCITT high level language (CHILL) language definition, 1988. CCITT Recomm. Z.200, ITU, Geneva, Switzerland.
|
| |
6
|
CONRADI, R., AND W~VIK, D. H., 1985. Mechanisms and tools for separate compilation. Tech. Rep. 25/85, The Norwegian Institute of Technology, Univ. of Trondheim, Trondheim, Norway.
|
| |
7
|
DAUSMANN, M. 1985. Informationsstrukturen und Verfahren ffdr die getrennte Ubersetzung von Programmteilen. GMD-Bericht 155, R. Oldenburg Verlag, Munich, Germany.
|
 |
8
|
|
| |
9
|
FEILER, P. H., DART, S. A., AND DOWNEY, G. 1988. Evaluation of the Rational environment. Tech. Rep. CMU/SEI-88-TR-15, Software Engineering Institute, Carnegie-Mellon Univ., Pittsburgh, Pa.
|
| |
10
|
FELDIVL~N, S. I. 1979. Make--A program for maintaining computer programs. Softw. Pract. Exper. 9, 3 (Mar.), 255 265.
|
| |
11
|
|
| |
12
|
GUTKNECHT, J. 1986. Separate compilation in Modu{a-2: An approach to efficient symbol files. IEEE Softw. 3, 6 (Nov.), 29 38.
|
| |
13
|
KAMEL, R. F. 1987. Effect of modularity on system evolution. IEEE Softw. 4, i (Jan.), 48-54.
|
| |
14
|
LEBLANG, D. B., AND CHASE, R. P., JR. 1987. Parallel software configuration management in a network environment. IEEE Softw. 4~ 6 (Nov.), 28-35.
|
| |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
MITCHELL, J. G., MAYBURY, W. AND SWEET, R. 1978. Mesa language manual. Tech. Rep., Xerox Palo Alto Research Center, Palo Alto, Calif., Feb.
|
| |
19
|
|
| |
20
|
RAIN, M. 1984. Avoiding trickle-down recompilation in the Mary2 implementation. Softw Pract. Exper. 14, 12 (Dec.), 1149-1157.
|
 |
21
|
|
 |
22
|
|
 |
23
|
R. W. Schwanke , E. S. Cohen , R. Gluecker , W. M. Hasling , D. A. Soni , M. E. Wagner, Configuration management in BiiN SMS, Proceedings of the 11th international conference on Software engineering, p.383-393, May 1989, Pittsburgh, Pennsylvania, United States
[doi> 10.1145/74587.74640]
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
 |
27
|
|
| |
28
|
U.S. DEPARTMENT OF DEFENSE. 1983 Reference manual for the Ada programming language. ANSI/MIL-STD 1815 A-1983, 2, U.S. Dept. of Defense, Washington, D C.
|
| |
29
|
Vo, K.-P., AND CHEN, Y.-F. 1992. Inch A tool to analyze include files. In Summer 1992 USENIX Conference (San Antonio, Tex., June), pp. 199-208.
|
| |
30
|
WroTH, N. 1985. Programmtng in Modula-2. Springer-Verlag, New York.
|
| |
31
|
WIRTH, N, GEISSMANN, L., HOPPE, J., JACOBI, C., KNUDSEN, S. E., AND WINIGER, W. 1982. Lilith handbook: A grade for Lilith users and programmers Tech. Rep, Institut fir Informatik der ETH Ziirich, Switzerland.
|
CITED BY 14
|
|
|
|
|
Craig Chambers , Jeffrey Dean , David Grove, A framework for selective recompilation in the presence of complex intermodule dependencies, Proceedings of the 17th international conference on Software engineering, p.221-230, April 24-28, 1995, Seattle, Washington, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dag I. K. Sjøberg , Ray Welland , Malcolm P. Atkinson , Paul Philbrow , Cathy Waite , Stewart Macneill, The persistent workshop - a programming environment for Napier88, Nordic Journal of Computing, v.4 n.1, p.123-149, Spring 1997
|
|
|
|
|
|
|
|
|
Jacky Estublier , David Leblang , Geoff Clemm , Reidar Conradi , Walter Tichy , André van der Hoek , Darcy Wiborg-Weber, Impact of the research community on the field of software configuration management: summary of an impact project report, ACM SIGSOFT Software Engineering Notes, v.27 n.5, September 2002
|
|
|
|
|
|
Jacky Estublier , David Leblang , André van der Hoek , Reidar Conradi , Geoffrey Clemm , Walter Tichy , Darcy Wiborg-Weber, Impact of software engineering research on the practice of software configuration management, ACM Transactions on Software Engineering and Methodology (TOSEM), v.14 n.4, p.383-430, October 2005
|
|
|
David Swasey , Tom Murphy, VII , Karl Crary , Robert Harper, A separate compilation extension to standard ML, Proceedings of the 2006 workshop on ML, September 16-16, 2006, Portland, Oregon, USA
|
|
|
|
|