DocumentCode
2458650
Title
Using the O-A diagram to encapsulate dynamic memory access
Author
Tonella, Paolo
Author_Institution
ITC-IRST, Povo, Italy
fYear
1998
fDate
16-20 Nov 1998
Firstpage
326
Lastpage
335
Abstract
Good software design is characterized by low coupling between modules and high cohesion inside each module. This is obtained by encapsulating the details about the internal structure of data and exporting only public functions with a clean interface. For programming languages such as C, which offer little support for encapsulation, code analysis tools may help in assessing and improving the access to data structures. In this paper a new representation of the accesses of functions to dynamic locations, called the O-A diagram, is proposed. By isolating meaningful groups of functions working on common dynamic data, such a diagram can be used to evaluate the encapsulation in a program and to drive possible interventions to improve it. Experimental results suggest that the aggregations identified by the O-A diagram are actually cohesive functions operating on a shared data structure. The results are useful in themselves, by providing the programmer with information about the organization of the accesses to dynamic memory. In addition the O-A diagram permits highlighting violations of encapsulation, so that proper restructuring actions can be performed
Keywords
data structures; software maintenance; C language; O-A diagram; cohesive functions; dynamic memory access encapsulation; programming languages; shared data structure; software design; Computer languages; Data mining; Dynamic programming; Electrical capacitance tomography; Encapsulation; Information systems; Reverse engineering; Software reusability; USA Councils;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 1998. Proceedings., International Conference on
Conference_Location
Bethesda, MD
ISSN
1063-6773
Print_ISBN
0-8186-8779-7
Type
conf
DOI
10.1109/ICSM.1998.738524
Filename
738524
Link To Document