• DocumentCode
    3015277
  • Title

    Software Reuse versus Stability: Evaluating Advanced Programming Techniques

  • Author

    Dantas, Francisco ; Garcia, Alessandro

  • Author_Institution
    Inf. Dept., PUC-Rio, Rio de Janeiro, Brazil
  • fYear
    2010
  • fDate
    Sept. 27 2010-Oct. 1 2010
  • Firstpage
    40
  • Lastpage
    49
  • Abstract
    With system development becoming increasingly incremental, software reuse and stability stand out as two of the most desirable attributes of high-quality software. In this context, a key goal in contemporary software design is to simultaneously promote reuse and stability of the software modules. However, the achievement of this goal is far from trivial as it largely depends on the programming techniques being employed in the software implementation. While the use of a specific advanced mechanism can somehow contribute to modules´ reuse, it might also require developers to make various undesirable changes in their interfaces and implementation. In this context, there are a growing number of techniques for improving modularity, ranging from aspect-oriented and feature-oriented programming to composition filters. This paper presents an exploratory analysis of advanced programming techniques on how they make it possible to reach a better tradeoff of software reuse and stability. The evaluation was carried out based on 11 releases of 2 product lines, which were originally built to promote the stable reuse of common modules across different products. Our results revealed that a hybrid incarnation of feature-oriented and aspect-oriented programming seems to be the most promising programming technique. For instance, the combined use of virtual inner classes, mixin composition, and point cut-advice tended to promote product-line modules with both superior stability and reusability.
  • Keywords
    aspect-oriented programming; software quality; software reliability; software reusability; aspect oriented programming; feature oriented programming; modularity mechanism; software product line; software quality; software reusability; software stability; Context; Matched filters; Measurement; Programming; Software systems; Stability analysis; Modularity mechanisms; composition mechanisms; software product lines; software reuse; software stability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (SBES), 2010 Brazilian Symposium on
  • Conference_Location
    Salvador, Bahia
  • Print_ISBN
    978-1-4244-8917-6
  • Electronic_ISBN
    978-0-7695-4273-7
  • Type

    conf

  • DOI
    10.1109/SBES.2010.13
  • Filename
    5631673