Change search
ReferencesLink to record
Permanent link

Direct link
Automating Reuse in Web Application Development
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. (Industrial Software Engineering)ORCID iD: 0000-0003-1756-0453
2014 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Web applications are one of the fastest growing types of software systems today. Structurally, they are composed out of two parts: the server-side, used for data-access and business logic, and the client-side used as a user-interface. In recent years, thanks to fast, modern web browsers and advanced scripting techniques, developers are building complex interfaces, and the client-side is playing an increasingly important role.

From the user's perspective, the client-side offers a number of features. A feature is an abstract notion representing a distinguishable part of the system behavior. Similar features are often used in a large number of web applications, and facilitating their reuse would offer considerable benefits. However, the client-side technology stack does not offer any widely used structured reuse method, and code responsible for a feature is usually copy-pasted to the new application. Copy-paste reuse can be complex and error prone - usually it is hard to identify exactly the code responsible for a certain feature and introduce it into the new application without errors.

The primary focus of the research described in this PhD thesis is to provide methods and tools for automatizing reuse in client-side web application development. This overarching problem leads to a number of sub-problems: i) how to identify code responsible for a particular feature; ii) how to include the code that implements a feature into an already existing application without breaking neither the code of the feature nor of the application; and iii) how to automatically generate sequences of user actions that accurately capture the behavior of a feature? In order to tackle these problems we have made the following contributions: i) a client-side dependency graph that is capable of capturing dependencies that exist in client-side web applications, ii) a method capable of identifying the exact code and resources that implement a particular feature, iii) a method that can introduce code from one application into another without introducing errors, and iv) a method for generating usage scenarios that cause the manifestation of a feature. Each contribution was evaluated a suite of web applications, and the evaluations have shown that each method is capable of performing its intended purpose.

Place, publisher, year, edition, pages
Västerås: Mälardalen University , 2014. , 141 p.
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 154
Keyword [en]
web applications, reuse, program analysis
National Category
Software Engineering
Research subject
Computer Science
URN: urn:nbn:se:mdh:diva-24600ISBN: 978-91-7485-140-3OAI: diva2:703618
Public defence
2014-04-17, Gamma, Mälardalens högskola, Västerås, 13:15 (English)
Available from: 2014-03-07 Created: 2014-03-06 Last updated: 2015-01-14Bibliographically approved

Open Access in DiVA

fulltext(2417 kB)428 downloads
File information
File name FULLTEXT02.pdfFile size 2417 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Search in DiVA

By author/editor
Maras, Josip
By organisation
Embedded Systems
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 428 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 474 hits
ReferencesLink to record
Permanent link

Direct link