• DocumentCode
    1418023
  • Title

    Tool support for planning the restructuring of data abstractions in large systems

  • Author

    Griswold, William G. ; Chen, Morison I. ; Bowdidge, Robert W. ; Cabaniss, Jenny L. ; Nguyen, V.B. ; Morgenthaler, J. David

  • Author_Institution
    Dept. of Comput. Sci. & Eng., California Univ., San Diego, La Jolla, CA, USA
  • Volume
    24
  • Issue
    7
  • fYear
    1998
  • fDate
    7/1/1998 12:00:00 AM
  • Firstpage
    534
  • Lastpage
    558
  • Abstract
    Restructuring software to improve its design can lower software maintenance costs. One problem encountered during restructuring is formulating the new design. A meaning-preserving program restructuring tool with a star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, the transformational support required for meaning-preserving restructuring is costly to provide. Also, programmers encounter comprehension and recall difficulties in complex restructuring tasks. Consequently, transformations were replaced with visual and organizational aids that help a programmer to plan and carry out a complex restructuring. For example, a star diagram manipulation called trimming was added, which mimics the way that basic restructuring transformations affect the star diagram display, allowing a programmer to plan a restructuring without depending upon restructuring transformations. With the ability to annotate trimmed star diagram components, plans can be recorded and later recalled. Programmer-controlled elision was added to help remove clutter from star diagram views. We implemented a star diagram planning tool for C programs, measured its elision capabilities, and performed a programmer study. We found that elision is effective in controlling star diagram size, and the study revealed that each programming team successfully planned its restructuring in rather different, unanticipated ways. These experiments resulted in important improvements in the tool´s software design and user interface
  • Keywords
    abstract data types; software maintenance; software tools; systems re-engineering; abstract data types; data abstractions restructuring planning; graphical user interlace design; information hiding; meaning-preserving program restructuring tool; modularity; programmer-controlled elision; re-engineering; software maintenance costs; star diagram manipulable visualization; tool support; Computer interfaces; Costs; Data structures; Data visualization; Displays; Performance evaluation; Programming profession; Software design; Software maintenance; User interfaces;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.708568
  • Filename
    708568