RCS—a system for version control
Software—Practice & Experience
A One-Pass Algorithm for Overload Resolution in Ada
ACM Transactions on Programming Languages and Systems (TOPLAS)
The string-to-string correction problem with block moves
ACM Transactions on Computer Systems (TOCS)
Software development control based on module interconnection
ICSE '79 Proceedings of the 4th international conference on Software engineering
The impact of mesa on system design
ICSE '79 Proceedings of the 4th international conference on Software engineering
The Mesa programming environment
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Computer-Aided Software Engineering in a distributed workstation environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Integral-C—a practical environment for C programming
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Efficient recompilation of module interfaces in a software development environment
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
MELDing data flow and object-oriented programming
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Software interconnection models
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Rigi-A system for programming-in-the-large
ICSE '88 Proceedings of the 10th international conference on Software engineering
IEEE Transactions on Software Engineering
SCM '89 Proceedings of the 2nd International Workshop on Software configuration management
Configuration management in BiiN SMS
ICSE '89 Proceedings of the 11th international conference on Software engineering
Facilitating process prototyping by controlling the impact of change
ISPW '88 Proceedings of the 4th international software process workshop on Representing and enacting the software process
A comparative evaluation of object definition techniques for large prototype systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fine grained data management to achieve evolution resilience in a software development environment
SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
A decision-based configuration process model
ICSE '90 Proceedings of the 12th international conference on Software engineering
Minimizing ripple recompilation in a persistent software environment
CSC '90 Proceedings of the 1990 ACM annual conference on Cooperation
Incremental global reoptimization of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Software Engineering and Methodology (TOSEM)
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Filtering import: a basic mechanism for reusability
SAC '93 Proceedings of the 1993 ACM/SIGAPP symposium on Applied computing: states of the art and practice
Interprocedural optimization: eliminating unnecessary recompilation
ACM Transactions on Programming Languages and Systems (TOPLAS)
The cost of selective recompilation and environment processing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Extending attribute grammars to support programming-in-the-large
ACM Transactions on Programming Languages and Systems (TOPLAS)
Smart recompilation and the GNAT compiler
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstracting dependencies between software configuration items
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Infuse: a tool for automatically managing and coordinating source changes in large systems
CSC '87 Proceedings of the 15th annual conference on Computer Science
WADAS '89 Proceedings of the sixth Washington Ada symposium on Ada
Abstracting dependencies between software configuration items
ACM Transactions on Software Engineering and Methodology (TOSEM)
ACM SIGSOFT Software Engineering Notes
Language-specific make technology for the Java programming language
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A New Approach to Version Control
IEEE Transactions on Software Engineering
A Model for Inter-module Analysis and Optimizing Compilation
LOPSTR '00 Selected Papers form the 10th International Workshop on Logic Based Program Synthesis and Transformation
Safeness of Make-Based Incremental Recompilation
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Software Configuration Management: State of the Art, State of the Practice
SCM-9 Proceedings of the 9th International Symposium on System Configuration Management
Impact of software engineering research on the practice of software configuration management
ACM Transactions on Software Engineering and Methodology (TOSEM)
Grexmk: speeding up scripted builds
Proceedings of the 2006 international workshop on Dynamic systems analysis
Identifying Failure Causes in Java Programs: An Application of Change Impact Analysis
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
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.