Software Practices Lab Homepage
Information Fragments
Registration-Based Abstraction
Summarizing Software Artifacts
past projects...
Reading Group
SPL Wiki [local access]

Implicit Context: Easing Software Evolution and Reuse
Robert J. Walker and Gail C. Murphy

In David S. Rosenblum, editor, Proceedings of the ACM SIGSOFT Eighth International Symposium on the Foundations of Software Engineering (FSE-8): Foundations of Software Engineering for Twenty-First Century Applications (San Diego, California, USA; 8--10 November 2000; SIGSOFT '00), ACM Press, pp. 69--78, 2000.

PDF    gzipped PostScript    Slides from talk


Software systems should consist of simple, conceptually clean software components interacting along narrow, well-defined paths. All too often, this is not reality: complex components end up interacting for reasons unrelated to the functionality they provide. We refer to knowledge within a component that is not conceptually required for the individual behaviour of that component as extraneous embedded knowledge (EEK). EEK creeps into a system in many forms, including dependences upon particular names and the passing of extraneous parameters. This paper proposes the use of implicit context as a means for reducing EEK in systems by combining a mechanism to reflect upon what has happened in a system, through queries on the call history, with a mechanism for altering calls to and from a component. We demonstrate the benefits of implicit context by describing its use to reduce EEK in the JavaTM Swing library.

Superceded Versions

Robert J. Walker and Gail C. Murphy. "Using Implicit Context to Ease Software Evolution and Reuse", Technical report TR-99-13, Department of Computer Science, University of British Columbia, 11 November 1999. 11 pages.
[PDF], [gzipped PostScript]

Robert J. Walker and Gail C. Murphy, "Dynamic Contextual Reflection: A Mechanism for Software Evolution and Reuse". In Walter Cazzola, Robert J. Stroud, and Francesco Tisato, editors, OORASE'99---OOPSLA'99 Workshop on Reflection and Software Engineering (Proceedings) (Denver, CO, USA; 1 November 1999), pp. 43--50, 1999. 8 pages.
[PDF], [gzipped PostScript]

Robert J. Walker, "Contextual Programming". In Proceedings of the 21st International Conference on Software Engineering (ICSE '99; Los Angeles, CA, USA; 16--22 May 1999), pp. 734--735, 1999. Doctoral symposium, extended abstract. 2 pages.
[PDF], [gzipped PostScript]

ACM Copyright Notice: The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.