Cognitive processes in program comprehension
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Strategies in programming programmable controllers: a field study on a professional programmer
Empirical studies of programmers: second workshop
A cognitive analysis of a code inspection
Empirical studies of programmers: second workshop
Can principles of cognition lower the barriers to programming?
Empirical studies of programmers: second workshop
An introduction to object-oriented programming and Smalltalk
An introduction to object-oriented programming and Smalltalk
Quick: a user-interface design kit for non-programmers
UIST '90 Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology
A view matcher for reusing Smalltalk classes
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
The reuse of uses in Smalltalk programming
ACM Transactions on Computer-Human Interaction (TOCHI)
Cognitive tools for locating and comprehending software objects for reuse
ICSE '91 Proceedings of the 13th international conference on Software engineering
Programming by example: programming by analogous examples
Communications of the ACM
Supporting reuse by delivering task-relevant and personalized information
Proceedings of the 24th International Conference on Software Engineering
How Software Engineering Tools Organize Programmer BehaviorDuring the Task of Data Encapsulation
Empirical Software Engineering
Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase
Empirical Software Engineering
IEEE Software
Active Programming Strategies in Reuse
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Strategies for Seeking Reusable Components in Smalltalk
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Learning from project history: a case study for software development
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Reuse-Conducive Development Environments
Automated Software Engineering
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
The Role of Similarity in the Reuse of Object-Oriented Analysis Models
Journal of Management Information Systems
Searching the library and asking the peers: learning to use Java APIs on demand
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Clonetracker: tool support for code clone management
Proceedings of the 30th international conference on Software engineering
Context-sensitive cut, copy, and paste
Proceedings of the 2008 C3S2E conference
Deliberated evolution: stalking the view matcher in design space
Human-Computer Interaction
Design strategies and knowledge in object-oriented programming: effects of experience
Human-Computer Interaction
Human-Computer Interaction
Beyond object-oriented technology: where current approaches fall short
Human-Computer Interaction
Journal of Visual Languages and Computing
Clone region descriptors: Representing and tracking duplication in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Pragmatic reuse in web application development
Proceedings of the 33rd International Conference on Software Engineering
Reusing web application user-interface controls
ICWE'11 Proceedings of the 11th international conference on Web engineering
Systematizing pragmatic software reuse
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.02 |
In a single-subject study of a software developer working in an object-oriented programming environment, we found evidence of a development style characterized by pervasive software reuse. The subject employed regular strategies for template selection and coding in her work, and avoided techniques requiring deep understanding of code details or symbolic execution whenever possible. Within the limits of the design of the study, the subject's performance is related to attributes of object-oriented programming and our interpretation of the mature mental model with which she approached her task.