Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
Interfacing thought: cognitive aspects of human-computer interaction
Some strategies of reuse in an object-oriented programming environment
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Software reusability: vol. 1, concepts and models
Software reusability: vol. 1, concepts and models
Design reuse and frameworks in the smalltalk-80 system
Software reusability
Smalltalk scaffolding: a case study of minimalist instruction
CHI '90 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A view matcher for learning Smalltalk
CHI '90 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Implementing faceted classification for software reuse
Communications of the ACM - Special issue on software engineering
A view matcher for reusing Smalltalk classes
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
An empirical study of the object-oriented paradigm and software reuse
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
More or less following a plan during design: opportunistic deviations in specification
International Journal of Man-Machine Studies - What programmers know
Designing interaction
Reducing the variability of programmers' performance through explained examples
CHI '93 Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Active Programming Strategies in Reuse
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Minimalist planning tools in an instructional system for smalltalk programming
INTERACT '90 Proceedings of the IFIP TC13 Third Interational Conference on Human-Computer Interaction
INTERACT '90 Proceedings of the IFIP TC13 Third Interational Conference on Human-Computer Interaction
IEEE Transactions on Software Engineering
Teachers as simulation programmers: minimalist learning and reuse
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A survey of software reuse libraries
Annals of Software Engineering
IEEE Software
The human-computer interaction handbook
What's the code?: automatic classification of source code archives
Proceedings of the eighth ACM SIGKDD international conference on Knowledge discovery and data mining
Strategies for Seeking Reusable Components in Smalltalk
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Classification of source code archives
Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval
Nonprogrammer web application development
CHI '04 Extended Abstracts on Human Factors in Computing Systems
Learning from project history: a case study for software development
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Using structural context to recommend source code examples
Proceedings of the 27th international conference on Software engineering
Proceedings of the 27th international conference on Software engineering
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Strathcona example recommendation tool
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
IEEE Transactions on Software Engineering
The Role of Similarity in the Reuse of Object-Oriented Analysis Models
Journal of Management Information Systems
A Type System Based on End-User Vocabulary
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Investigating statistical machine learning as a tool for software development
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Context-sensitive cut, copy, and paste
Proceedings of the 2008 C3S2E conference
Recommending Typical Usage Examples for Component Retrieval in Reuse Repositories
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Iterative design and evaluation of an event architecture for pen-and-paper interfaces
Proceedings of the 21st annual ACM symposium on User interface software and technology
Semi-automating small-scale source code reuse via structural correspondence
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
API usability: CHI'2009 special interest group meeting
CHI '09 Extended Abstracts on Human Factors in Computing Systems
API usability: report on special interest group at CHI
ACM SIGSOFT Software Engineering Notes
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
Searching API usage examples in code repositories with sourcerer API search
Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
Leveraging usage similarity for effective retrieval of examples in code repositories
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
Finding web services via BPEL fragment search
Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation
A field study of API learning obstacles
Empirical Software Engineering
As easy as “click”: end-user web engineering
ICWE'05 Proceedings of the 5th international conference on Web Engineering
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Codelets: linking interactive documentation and example code in the editor
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Systematizing pragmatic software reuse
ACM Transactions on Software Engineering and Methodology (TOSEM)
On the benefits of providing versioning support for end users: An empirical study
ACM Transactions on Computer-Human Interaction (TOCHI)
Hi-index | 0.00 |
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.