Electrical Engineering
      and Computer Sciences

Electrical Engineering and Computer Sciences

COLLEGE OF ENGINEERING

UC Berkeley

The C Information Abstractor

Yih-Farn Chen and C. V. Ramamoorthy

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-87-300
June 1986

http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-300.pdf

Program understanding is one of the most time-consuming processes in software maintenance. This is partially due to the human inability to memorize complex interrelations among the software entities of a large software system. The situation worsens when the programs are not written by the software maintainers and little documentation is available. The basic idea in information abstraction is to extract relational information among the software entities of programs, store the information in a database, and make it available to users in a form that can be easily understood. We have implemented an information Abstractor to extract relational information from C programs and store the information into a program database. High level access utilities are provided so that program maintainers or developers can easily retrieve the information they need for understanding the software. Besides program understanding, we found that the availability of the program database can also promote the research in four software engineering areas: multiple software views, software reusability, software metrics, and software restructuring.


BibTeX citation:

@techreport{Chen:CSD-87-300,
    Author = {Chen, Yih-Farn and Ramamoorthy, C. V.},
    Title = {The C Information Abstractor},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1986},
    Month = {Jun},
    URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1986/6105.html},
    Number = {UCB/CSD-87-300},
    Abstract = {Program understanding is one of the most time-consuming processes in software maintenance. This is partially due to the human inability to memorize complex interrelations among the software entities of a large software system. The situation worsens when the programs are not written by the software maintainers and little documentation is available. The basic idea in information abstraction is to extract relational information among the software entities of programs, store the information in a database, and make it available to users in a form that can be easily understood. We have implemented an information Abstractor to extract relational information from C programs and store the information into a program database. High level access utilities are provided so that program maintainers or developers can easily retrieve the information they need for understanding the software. Besides program understanding, we found that the availability of the program database can also promote the research in four software engineering areas: multiple software views, software reusability, software metrics, and software restructuring.}
}

EndNote citation:

%0 Report
%A Chen, Yih-Farn
%A Ramamoorthy, C. V.
%T The C Information Abstractor
%I EECS Department, University of California, Berkeley
%D 1986
%@ UCB/CSD-87-300
%U http://www.eecs.berkeley.edu/Pubs/TechRpts/1986/6105.html
%F Chen:CSD-87-300