COGNITIVE-PROCESSES IN PROGRAM COMPREHENSION - AN EMPIRICAL-ANALYSIS IN THE CONTEXT OF SOFTWARE REENGINEERING

Citation
V. Arunachalam et W. Sasso, COGNITIVE-PROCESSES IN PROGRAM COMPREHENSION - AN EMPIRICAL-ANALYSIS IN THE CONTEXT OF SOFTWARE REENGINEERING, The Journal of systems and software, 34(3), 1996, pp. 177-189
Citations number
35
Categorie Soggetti
System Science","Computer Science Theory & Methods","Computer Science Software Graphycs Programming
ISSN journal
01641212
Volume
34
Issue
3
Year of publication
1996
Pages
177 - 189
Database
ISI
SICI code
0164-1212(1996)34:3<177:CIPC-A>2.0.ZU;2-0
Abstract
Changes in an organization's internal and external environment impose numerous demands on management information systems (MIS). Since few MI S can be designed to fully anticipate all change, system portfolios fr equently tend to become heavily weighted with older systems needing ma intenance and revision. To maintain cost effectiveness, encourage syst em reuse, and ensure that the new system's behavior will differ from t hat of the old one only as intended, the former's functional design mu st be recovered (preferably from the old program code itself) when und ertaking such maintenance and revision. We studied of how experts perf orm this design recovery activity by analyzing the cognitive processes of six experienced system developers engaged in the program comprehen sion phase of software reengineering. Results of protocol analysis ind icate that subjects distributed their cognitive processes in a systema tic and generally comparable fashion. Over the sample, similar transit ions between two activities and patterns of three activities were obse rved to occur with high frequency. The most frequently occurring progr am comprehension transitions and patterns generally occurred within, r ather than across, two activity groups: recognition and design documen tation. We conclude with suggestions for further research on program c omprehension and the design of computerized tools to support the softw are reengineering process.