• DocumentCode
    650769
  • Title

    Revealing the Effect of Coding Practices on Software Maintainability

  • Author

    Hegedus, P.

  • Author_Institution
    Dept. of Software Eng., Univ. of Szeged, Szeged, Hungary
  • fYear
    2013
  • fDate
    22-28 Sept. 2013
  • Firstpage
    578
  • Lastpage
    581
  • Abstract
    Due to its very obvious and direct connection with the costs of altering the behavior of a software, maintainability is probably the most attractive, observed and evaluated quality characteristic of the software products. There are many coding practices and techniques that may influence the maintainability of a system (e.g. design patterns, coding rules, anti-patterns, refactoring techniques). However, the empirical evidences of the connection between coding practices and maintainability are vague due to the following reasons: i) finding instances of coding primitives like design patterns, anti-patterns, etc. precisely with reverse engineering tools is not easy, ii) the lack of mature practical quality models for objective calculation of maintainability and handling its ambiguity, iii) few empirical studies directly evaluating the connection of coding techniques and software maintainability. The presented work focuses on solving these major problems by creating a benchmark for evaluating the performance of different reverse engineering tools and introducing a novel probabilistic approach for measuring software maintainability. By performing case studies based on new analysis methods we evince that there is a significant correlation between the design pattern density and the maintainability of a system, e.g. 0.89 Pearson correlation for JHotDraw. Moreover, preliminary studies show that applying refactoring has indeed a traceable positive impact on software maintainability as anticipated.
  • Keywords
    object-oriented methods; software maintenance; software metrics; software performance evaluation; software quality; JHotDraw; Pearson correlation; anti patterns; coding practice effect; coding rules; design pattern density; performance evaluation; refactoring techniques; software maintainability measurement; software product quality characteristic evaluation; software product quality characteristic observation; Benchmark testing; Computational modeling; Encoding; IEC standards; ISO standards; Reverse engineering; Software; Anti-patterns; Case Study; Desin Patterns; ISO/IEC 9126; Refactoring; Software Maintainability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2013 29th IEEE International Conference on
  • Conference_Location
    Eindhoven
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2013.99
  • Filename
    6676960