• DocumentCode
    763751
  • Title

    Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance

  • Author

    Prechelt, Lutz ; Unger-Lamprecht, Barbara ; Philippsen, Michael ; Tichy, Walter F.

  • Author_Institution
    abaXX Technol., Stuttgart, Germany
  • Volume
    28
  • Issue
    6
  • fYear
    2002
  • fDate
    6/1/2002 12:00:00 AM
  • Firstpage
    595
  • Lastpage
    606
  • Abstract
    Using design patterns is claimed to improve programmer productivity and software quality. Such improvements may manifest both at construction time (in faster and better program design) and at maintenance time (in faster and more accurate program comprehension). The paper focuses on the maintenance context and reports on experimental tests of the following question: does it help the maintainer if the design patterns in the program code are documented explicitly (using source code comments) compared to a well-commented program without explicit reference to design patterns? Subjects performed maintenance tasks on two programs ranging from 360 to 560 LOC including comments. The experiments tested whether pattern comment lines (PCL) help during maintenance if patterns are relevant and sufficient program comments are already present. This question is a challenge for the experimental methodology: A setup leading to relevant results is quite difficult to find. We discuss these issues in detail and suggest a general approach to such situations. A conservative analysis of the results supports the hypothesis that pattern-relevant maintenance tasks were completed faster or with fewer errors if redundant design pattern information was provided. The article provides the first controlled experiment results on design pattern usage and it presents a solution approach to an important class of experiment design problems for experiments regarding documentation
  • Keywords
    human factors; object-oriented programming; software maintenance; system documentation; user interfaces; American undergraduate students; C++; German graduate students; Java; PCL; controlled experiments; design pattern documentation; design pattern information; design pattern usage; experiment design problems; experimental tests; pattern comment lines; pattern-relevant maintenance tasks; program comments; program comprehension; program maintenance; programmer productivity; software quality; source code comments; Computer Society; Documentation; Java; Lab-on-a-chip; Productivity; Programming profession; Software design; Software quality; Software tools; Testing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2002.1010061
  • Filename
    1010061