Program comprehension with dynamic recovery of code collaboration patterns and roles

  • Authors:
  • Lei Wu;Houari Sahraoui;Petko Valtchev

  • Affiliations:
  • Computer Science Department, Univeristy of Montreal;Computer Science Department, University of Montreal;Computer Science Department, University of Montreal

  • Venue:
  • CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

Software functionalities and behavior are accomplished by the cooperation of code artifacts. The understanding of this type of source code collaboration provides an important aid to the maintenance and evolution of legacy systems. Normally, legacy systems were developed decades ago using early programming languages such as Cobol, Fortran or C etc., and a huge number of such systems are still in use. Coyle et. al estimate that only the systems written in Cobol have been account for more than 100 billion LOC. Moreover, a large amount of domain business knowledge has been coded in legacy software. After many years of maintenance, the quality of operation and maintainability has deteriorated dramatically due to many reasons, such as lack of up-to-date documents, lost of key personnel, shift of technology of inter-operating peripheral systems etc. The extraction of code artifact collaborations and their roles is therefore an important support in legacy software comprehension and design recovery. However, the original collaboration design information is dispersed at the implementation level. In this paper, we present a novel approach to efficiently recover and analyze code collaborations and roles based on dynamic program analysis technique. We also illustrate the tools that we have developed to support our approach and illustrate the viability of our approach in a case study.