• 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