Effects of Decomposition Techniques on Knowledge-Based Program Understanding

  • Authors:
  • Salwa K. Abd-El-Hafiz

  • Affiliations:
  • -

  • Venue:
  • ICSM '97 Proceedings of the International Conference on Software Maintenance
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper studies the effects of two different program decomposition techniques on knowledge-based program understanding. The first technique generates events which encapsulate program parts that are interdependent with respect to data flow. The second technique is program slicing. Both techniques are briefly described and the resulting slices and events are compared. An understanding of a program is formed by matching its events or slices against previously designed knowledge base plans. In order to have a detailed insight into the design and utilization of the knowledge base, we perform a two-phase case study. The first phase uses the decomposition results of a set of 65 loops to construct two different knowledge bases; one for recognizing loop events and the other for recognizing loop slices. This phase of the case study demonstrates the different design decisions made during the construction of the two knowledge bases. The second phase of the case study utilizes the previously designed plans in analyzing a set of 92 loops extracted from five randomly selected programs. Finally, the results of comparing the two decomposition techniques are summarized.