Mental models and software maintenance
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Comprehension strategies in programming
Empirical studies of programmers: second workshop
Experimental evaluation of software documentation formats
Journal of Systems and Software
The dimensionality of program complexity
ICSE '89 Proceedings of the 11th international conference on Software engineering
Software complexity: measures and methods
Software complexity: measures and methods
Expert problem solving strategies for program comprehension
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Approaches to program comprehension
Journal of Systems and Software - Special issue on software maintenance
The role of program structure in software maintenance
International Journal of Man-Machine Studies
Inside a software design team: knowledge acquisition, sharing, and integration
Communications of the ACM
Identification of Dynamic Comprehension Processes During Large Scale Maintenance
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Program understanding behaviour during enhancement of large-scale software
Journal of Software Maintenance: Research and Practice
International Journal of Human-Computer Studies
An Empirical Approach to Studying Software Evolution
IEEE Transactions on Software Engineering
Program understanding behavior during corrective maintenance of large-scale software
International Journal of Human-Computer Studies - Best of empirical studies of programmers 7
The Psychological Study of Programming
ACM Computing Surveys (CSUR)
Programmers use slices when debugging
Communications of the ACM
Characteristics of application software maintenance
Communications of the ACM
Experimental investigations of the utility of detailed flowcharts in programming
Communications of the ACM
Exploratory experimental studies comparing online and offline programming performance
Communications of the ACM
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
The Effectiveness of Control Structure Diagrams in Source Code Comprehension Activities
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase
Empirical Software Engineering
Meeting the Challenge of Software Maintenance
IEEE Software
Does OO Sync with How We Think?
IEEE Software
Legacy Integration-Changing Perspectives
IEEE Software
IEEE Software
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions
IEEE Transactions on Software Engineering
Journal of Management Information Systems
IEEE Transactions on Software Engineering
Software engineering theory and inter-disciplinary research
Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research
Research Note: Individual Cognition and Dual-Task Interference in Group Support Systems
Information Systems Research
Defining and validating metrics for assessing the understandability of entity-relationship diagrams
Data & Knowledge Engineering
The impacts of function extraction technology on program comprehension: A controlled experiment
Information and Software Technology
Patterns of Transition: The Shift from Traditional to Object-Oriented Development
Journal of Management Information Systems
Impact of Knowledge Support on the Performance of Software Process Tailoring
Journal of Management Information Systems
A design methodology for form-based knowledge reuse and representation
Information and Management
Remodularizing Java programs for comprehension of features
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Visualization of Network Concepts: The Impact of Working Memory Capacity Differences
Information Systems Research
ER'10 Proceedings of the 29th international conference on Conceptual modeling
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
Proceedings of the 49th SIGMIS annual conference on Computer personnel research
Analysing the cognitive effectiveness of the UCM visual notation
SAM'10 Proceedings of the 6th international conference on System analysis and modeling: about models
Remodularizing Java programs for improved locality of feature implementations in source code
Science of Computer Programming
Journal of Management Information Systems
Construction of Domain Ontologies: Sourcing the World Wide Web
International Journal of Intelligent Information Technologies
Technology-Mediated Collaboration, Shared Mental Model and Task Performance
Journal of Organizational and End User Computing
Journal of Database Management
Journal of Management Information Systems
Methodology Mashups: An Exploration of Processes Used to Maintain Software
Journal of Management Information Systems
Problem solving representations in systems development
International Journal of Business Information Systems
Hi-index | 0.00 |
Although there is a long tradition of empirical studies of software developers, few studies have focused on software maintenance. Prior work is predicated on the belief that higher levels of software comprehension are associated with higher levels of performance on modification tasks. This study provides a more complete understanding of the relationship between software comprehension and modification. We conceptualize software maintenance as interlinking comprehension and modification, and argue that the relationship between the two is moderated by cognitive fit. Specifically, cognitive fit exists when the software maintainer's dominant mental representation of the software and their mental representation of the modification task emphasize the same type of knowledge. We hypothesize that when cognitive fit exists, greater improvements in comprehension are associated with higher levels of performance on a modification task. When cognitive fit does not exist, however, the software maintainer's mental representations of the software and of the modification task do not emphasize the same type of knowledge, which may mean that attention is devoted to comprehension at the expense of modification, resulting in lower performance on the modification task. In these circumstances, comprehension and modification tasks may interfere with each other, an effect known as dual-task interference. We therefore hypothesize that performance on a modification task is moderated by the fit between the mental representation of the software and that of the modification task. We tested our theory by varying cognitive fit to create matched and mismatched conditions in a single experiment that used IT professionals as subjects. Our findings support our theory: cognitive fit moderates the relationship between comprehension and modification. Specifically, changes in software comprehension and modification performance are positively related when cognitive fit exists and negatively related when cognitive fit does not exist. Our findings demonstrate the need to examine more complex relationships among the numerous types of tasks involved in software development rather than examining software comprehension alone.