• Medientyp: E-Artikel
  • Titel: Tool support for planning the restructuring of data abstractions in large systems
  • Beteiligte: Griswold, William G.; Chen, Morison I.; Bowdidge, Robert W.; Morgenthaler, J. David
  • Erschienen: Association for Computing Machinery (ACM), 1996
  • Erschienen in: ACM SIGSOFT Software Engineering Notes
  • Sprache: Englisch
  • DOI: 10.1145/250707.239107
  • ISSN: 0163-5948
  • Schlagwörter: General Medicine
  • Entstehung:
  • Anmerkungen:
  • Beschreibung: <jats:p> Restructuring software to improve its design can lower software maintenance costs. One problem in carrying out such a restructuring is planning the new detailed design. The <jats:italic>star diagram</jats:italic> manipulable visualization can help a programmer redesign a program based on abstract data types. However, our measurements revealed that the view can be too large for a programmer to effectively assimilate. Also, design plans can be expressed only by restructuring, although our studies revealed that it is beneficial to preplan a restructuring. Finally, the tool user can build a star diagram for only a single data structure, although an abstract data type might actually have several components or have multiple instantiations.Exploiting basic properties of the star diagram can mitigate these problems. First, programmer-controlled elision can remove clutter from the star diagram view. Second, elision and annotation of star diagram components can mimic restructuring, thereby supporting the planning of a restructuring. Such support also allows for the planning of a non-restructuring maintenance task. Finally, to dynamically control what data structures are visualized, the tool user can union star diagrams.We built a star diagram planning tool for C programs, measured its elision capabilities, and performed a programmer study for the encapsulation of a widely-used data structure in a 28,000 line program. We found that the amount of elision can be substantial, but is not always adequate. In the study we found that each programming team successfully planned their restructuring in rather different, unanticipated ways. </jats:p>
  • Zugangsstatus: Freier Zugang