DocumentCode
2792802
Title
Event Views and Graph Reductions for Understanding System Level C Code
Author
Neginhal, Srinivas ; Kothari, Suraj
Author_Institution
Dept. of Electr. & Comput. Eng., Iowa State Univ., Ames, IA
fYear
2006
fDate
24-27 Sept. 2006
Firstpage
279
Lastpage
288
Abstract
Concurrent processing, runtime bindings, and an extensive use of aggregate data structures make system level C codes difficult to understand. This paper proposes event views and graph reductions as techniques to facilitate program comprehension. Starting with some domain knowledge, a user can apply these techniques to quickly identify and analyze exactly those parts of the program that are relevant to a given concern. We have built a tool called CVision to demonstrate applicability of the proposed techniques. CVision is an interactive tool that allows the user to: (a) quickly get to the relevant parts of the code; (b) graphically visualize relationships between program elements; and (c) interactively apply different graph reductions to eliminate irrelevant relationships. Using these capabilities, the user can quickly distill a large body of code and extract meaningful views of runtime events that capture the user´s concern. The proposed program comprehension techniques are demonstrated through two case studies based on Linux and XINU operating systems
Keywords
C language; interactive systems; program diagnostics; program visualisation; reverse engineering; event views; graph reductions; interactive tool; program comprehension; program visualization; software tool; system level C code understanding; Aggregates; Data structures; Kernel; Linux; Operating systems; Protocols; Runtime; Software maintenance; Visualization; Yarn;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 2006. ICSM '06. 22nd IEEE International Conference on
Conference_Location
Philadelphia, PA
ISSN
1063-6773
Print_ISBN
0-7695-2354-4
Type
conf
DOI
10.1109/ICSM.2006.28
Filename
4021351
Link To Document