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 :
بازگشت