• DocumentCode
    3248766
  • Title

    Building extensions for applications: Towards the understanding of extension possibilities

  • Author

    Aly, Mohamed ; Charfi, Anis ; Mezini, M.

  • Author_Institution
    Appl. Res., SAP AG, Darmstadt, Germany
  • fYear
    2013
  • fDate
    20-21 May 2013
  • Firstpage
    182
  • Lastpage
    191
  • Abstract
    Software extensions enable developers to introduce new features to a software system for supporting new requirements. In order for a developer to build an extension for a certain software system, the developer has to understand what extension possibilities exist, which software artifacts provide these possibilities, the constraints and dependencies between the extensible software artifacts, and how to correctly implement an extension. Building extensions for multilayered applications can be very challenging. For example, a simple user interface extension in a business application can require a developer to consider extensible artifacts from underlying user interfaces, business processes, databases, and code. In commercial applications, extension developers can depend on classical means like APIs, frameworks, documentation, tutorials, and example code provided by the software provider to understand the extension possibilities and how to successfully implement, run, and deploy an extension. For complex multilayered applications, relying on such classical means can be very hard and time-consuming for the extension developers. In IDEs, various program comprehension tools and approaches have helped developers in carrying out development tasks. However, most of the tools focus on the code level, lack the support for multilayered applications, and do not particularly focus on extensibility. In this paper we investigate the resources and methods that extension developers currently depend on for implementing extensions and we evaluate their effectiveness in a study of extension developers performing extension development tasks for a complex business application. Based on the results of our study, we identify the problems and challenges that face extension developers and we propose requirements that program comprehension tools should support to aid extension developers.
  • Keywords
    business data processing; software development management; software tools; IDE; complex business application; multilayered application; program comprehension tool; software artifacts; software extension development task; software system; user interface; Buildings; Business; Databases; Software systems; Tutorials; User interfaces;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension (ICPC), 2013 IEEE 21st International Conference on
  • Conference_Location
    San Francisco, CA
  • ISSN
    1063-6897
  • Type

    conf

  • DOI
    10.1109/ICPC.2013.6613846
  • Filename
    6613846