The reuse of uses in Smalltalk programming
- 1 September 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer-Human Interaction
- Vol. 3 (3) , 219-253
- https://doi.org/10.1145/234526.234530
Abstract
Software reuse, a long-standing and refractory issue in software technology, has been specifically emphasized as an advantage of the object-oriented programming paradigm. We report an empirical study of expert Smalltalk programmers reusing user interface classes in small graphical applications. Our primary goal was to develop a qualitative characterization of expert reuse strategies that could be used to identify requirements for teaching and supporting reuse programming. A secondary interest was to demonstrate to these experts the Reuse View Matcher—a prototype reuse tool—and to collect some initial observations of this tool in use during reuse programming. We observed extensive “reuse of uses” in the programmers' work: they relied heavily on code in expample applications that provided an implicit specification for reuse of the target class. We called this implicit specification a “usage context.” The programmers searched for relevant usage contexts early. They repeatedly evaluated the contextualized information to develop solution plans, and they borrowed and adapted it when the sample context suited their immediate reuse goals. The process of code development was highly dynamic and incremental; analysis and implementation were tightly interleaved, frequently driven by testing and debugging. These results are considered in terms of the tradeoffs that inhere in the reuse of uses and the teaching and tool support that might improve the efficiency and accuracy of this approach to reuse.Keywords
This publication has 16 references indexed in Scilit:
- Active Programming Strategies in ReusePublished by Springer Nature ,2000
- Implementing faceted classification for software reuseCommunications of the ACM, 1991
- A view matcher for reusing Smalltalk classesPublished by Association for Computing Machinery (ACM) ,1991
- More or less following a plan during design: opportunistic deviations in specificationInternational Journal of Man-Machine Studies, 1990
- Designing the Design Process: Exploiting Opportunistic ThoughtsHuman–Computer Interaction, 1990
- Reusability: The Case for Object-Oriented DesignIEEE Software, 1987
- Reusability Framework, Assessment, and DirectionsIEEE Software, 1987
- Verbal reports as data.Psychological Review, 1980
- Clinical— experimental analysis of design problem solvingDesign Studies, 1979
- The use of advance organizers in the learning and retention of meaningful verbal material.Journal of Educational Psychology, 1960