The Role of Domain Expenence in Software Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Processes in computer program comprehension
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Cognitive processes in program comprehension
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
A field study of the software design process for large systems
Communications of the ACM
Breakdowns and processes during the early activities of software design by professionals
Empirical studies of programmers: second workshop
Comprehension strategies in programming
Empirical studies of programmers: second workshop
Software maintenance: a key area for research
University Computing
Experimental evaluation of software documentation formats
Journal of Systems and Software
IEEE Transactions on Software Engineering
Controversy corner: volume, distance, and productivity
Journal of Systems and Software
Software complexity: measures and methods
Software complexity: measures and methods
Approaches to program comprehension
Journal of Systems and Software - Special issue on software maintenance
Knowledge exploited by experts during software system design
International Journal of Man-Machine Studies - What programmers know
The initial stage of program comprehension
International Journal of Man-Machine Studies
Toward a taxonomy of software application domains: history
Journal of Systems and Software
Domain model-driven software reengineering and maintenance
Journal of Systems and Software - Special issue on object-orientation
Helping programmers understand computer programs: the use of metacognition
ACM SIGMIS Database
The Psychological Study of Programming
ACM Computing Surveys (CSUR)
Programmers use slices when debugging
Communications of the ACM
Studying programmer behavior experimentally: the problems of proper methodology
Communications of the ACM
Application domain competence in software requirements: deconstructing a unified approach
SIGCPR '02 Proceedings of the 2002 ACM SIGCPR conference on Computer personnel research
The Use of Procedural Roles in Code Inspections: An ExperimentalStudy
Empirical Software Engineering
Understanding Conceptual Schemas: Exploring the Role of Application and IS Domain Knowledge
Information Systems Research
Journal of Management Information Systems
CodeTalk Conversations about Code
C5 '10 Proceedings of the 2010 Eighth International Conference on Creating, Connecting and Collaborating through Computing
ER'10 Proceedings of the 29th international conference on Conceptual modeling
Proceedings of the 49th SIGMIS annual conference on Computer personnel research
The Effect of Task and Tool Experience on Maintenance CASE Tool Usage
Information Resources Management Journal
Novelty-Knowledge Alignment: A Theory of Design Convergence in Systems Development
Journal of Management Information Systems
Hi-index | 0.00 |
Recent research using professional programmers suggests that knowledge of the application domain plays a major role in the cognitive processes they use to understand computer programs. In general, programmers use a more top-down comprehension process when working in familiar application domains, and a more bottom-up process in unfamiliar domains. The present study builds on that research by further characterizing comprehension processes. The findings show that: (1) certain programmers use different types of comprehension processes depending on their familiarity with the application domain (flexible approach), while others do not (top-down and bottom-up approaches); (2) familiarity with the application domain and the use of a particular comprehension process have marked effects on references programmers make to both application and programming domain knowledge; and (3) programmers who use a flexible comprehension process achieved the highest levels of comprehension. The present research also examines some cognitive determinants of the comprehension process. The findings highlight the need to consider application, as well as programming, domain knowledge as areas of computer programming expertise, to investigate factors influencing use of specific comprehension processes, and to develop tools to support flexible comprehension processes.