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
Link To Document