How Software Engineering Tools Organize Programmer Behavior During the Task of Data Encapsulation

作者: Robert W. Bowdidge , William G. Griswold

DOI: 10.1023/A:1009716016693

关键词: Computer scienceUnixSource codeEncapsulation (networking)Software engineeringSoftware systemData structureProgrammerRestructuringExploratory research

摘要: Tool-assisted meaning-preserving program restructuring has been proposed to aid the evolution of large software systems. These systems are difficult modify because relevant information is often widely distributed. We performed an exploratory study determine how programmers used a tool interface called ’’star diagram‘‘ organize their behavior for task encapsulating data structure. videotaped six pairs while they encapsulated and enhanced structure in existing program. Each team one three environments: standard UNIX tools, with textual view source code, or using star diagram view. We systematically analyzed videotape transcripts derive model encapsulation. opportunistically exploited features tools (e.g., cursors) representation ordering lines file) help them track current state activity. method exploiting tracks way that decreases likelihood some types oversights missing required change), but may not address others making change incorrectly), hence requiring separate check. also observed preferred design restructure fashion. The major challenge restructuring, then, appears arise from fact it costly haphazard maintain completeness consistency properties state-maintaining tactics employ tools. The inherent invisibility makes even more costly. insights have led us redesign our better support counter invisibility.

参考文章(35)
Stephen Bortman, James Collofello, ANALYSIS OF THE TECHNICAL INFORMATION NECESSARY TO PERFORM EFFECTIVE SOFTWARE MAINTENANCE. IEEE. pp. 420- 424 ,(1986)
Herb Krasner, Bill Curtis, Raymonde Guindon, Breakdowns and processes during the early activities of software design by professionals Empirical studies of programmers: second workshop. pp. 65- 82 ,(1987)
William G. Griswold, Program restructuring as an aid to software maintenance University of Washington. ,(1992)
Donald A. Norman, The Design of Everyday Things ,(1988)
John R. Anderson, Wayne D. Gray, Change-episodes in coding: when and how do programmers change their code? Empirical studies of programmers: second workshop. pp. 185- 197 ,(1987)
Thomas J. Watson IBM Research Center, Active Programming Strategies in Reuse european conference on object oriented programming. pp. 4- 20 ,(1993) , 10.1007/3-540-47910-4_2
Ralph E. Johnson, William F. Opdyke, Refactoring and Aggregation Proceedings of the First JSSST International Symposium on Object Technologies for Advanced Software. pp. 264- 278 ,(1993) , 10.1007/3-540-57342-9_78
Bennett P. Lientz, E. Burton Swanson, Software maintenance management ,(1980)
S Letovsky, E Soloway, Strategies for documenting delocalized plans international conference on software maintenance. pp. 144- 151 ,(1986)