TU Darmstadt / ULB / TUbiblio

Building Extensions for Applications: Towards the Understanding of Extension Possibilities

Aly, Mohamed and Charfi, Anis and Mezini, Mira (2013):
Building Extensions for Applications: Towards the Understanding of Extension Possibilities.
In: 2013 IEEE 21st International Conference on Program Comprehension (ICPC), IEEE, In: 21st International Conference on Program Comprehension , San Francisco, California, USA, May 20th - 21st, 2013, In: ICPC 2013, [Conference or Workshop Item]

WarningThere is a more recent version of this item available.

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.

Item Type: Conference or Workshop Item
Erschienen: 2013
Creators: Aly, Mohamed and Charfi, Anis and Mezini, Mira
Title: Building Extensions for Applications: Towards the Understanding of Extension Possibilities
Language: German
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.

Title of Book: 2013 IEEE 21st International Conference on Program Comprehension (ICPC)
Series Name: ICPC 2013
Publisher: IEEE
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Software Technology
Event Title: 21st International Conference on Program Comprehension
Event Location: San Francisco, California, USA
Event Dates: May 20th - 21st, 2013
Date Deposited: 22 Nov 2013 13:43
Export:

Available Versions of this Item

Optionen (nur für Redakteure)

View Item View Item