• DocumentCode
    2224518
  • Title

    A static reference flow analysis to understand design pattern behavior

  • Author

    Park, Chanjin ; Kang, Yoohoon ; Wu, Chisu ; Yi, Kwangkeun

  • Author_Institution
    Sch. of Comput. Sci. & Eng., Seoul Nat. Univ., South Korea
  • fYear
    2004
  • fDate
    8-12 Nov. 2004
  • Firstpage
    300
  • Lastpage
    301
  • Abstract
    Design patterns are actively used by developers expecting that they provide the design with good quality such as flexibility and reusability. However, according to industrial reports on the use of design patterns, the expectation is not always realized . Especially, points out two causes of inappropriately applied patterns from a case study on a large commercial project: developers inexperienced in design patterns and no connection with project requirement. Wrong decisions on the use of design patterns make the program difficult to understand, and refactoring the program to improve the underlying structure, especially without documentation, can be very tricky. To eliminate wrongly applied patterns or document important decisions automatically, design pattern recovery is important for not only the development phase but also the maintenance phase. Many design pattern recovery approaches focus on structural characteristics and do not touch set-up behavior that configures links between participants and precedes pattern behavior. To detect design patterns implemented in program code more precisely and to show their behavior, we analyze program at expression level. Our approach is based on statically approximating run time behavior among pattern participants. For this, a static program analysis technique is used. Many static analysis techniques for object-oriented languages exist mainly for optimizing compiler in program analysis area.
  • Keywords
    object-oriented languages; object-oriented programming; optimising compilers; program diagnostics; reverse engineering; software maintenance; software reusability; design pattern behavior; design pattern recovery; object-oriented languages; optimizing compiler; program code; project requirement; run time behavior; software flexibility; software maintenance; software reusability; static program analysis; static reference flow analysis; structural characteristics; Character generation; Computer science; Documentation; Flow graphs; Optimizing compilers; Pattern analysis; Reverse engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 2004. Proceedings. 11th Working Conference on
  • ISSN
    1095-1350
  • Print_ISBN
    0-7695-2243-2
  • Type

    conf

  • DOI
    10.1109/WCRE.2004.9
  • Filename
    1374332