https://www.mdu.se/

mdu.sePublications
Change search
Link to record
Permanent link

Direct link
Alternative names
Publications (10 of 18) Show all publications
Maras, J. (2014). Automating Reuse in Web Application Development. (Doctoral dissertation). Västerås: Mälardalen University
Open this publication in new window or tab >>Automating Reuse in Web Application Development
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. p. 141
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 154
Keywords
web applications, reuse, program analysis
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-24600 (URN)978-91-7485-140-3 (ISBN)
Public defence
2014-04-17, Gamma, Mälardalens högskola, Västerås, 13:15 (English)
Opponent
Supervisors
Available from: 2014-03-07 Created: 2014-03-06 Last updated: 2018-01-11Bibliographically approved
Maras, J., Štula, M. & Carlson, J. (2013). Generating feature usage scenarios in client-side web applications. In: Lecture Notes in Computer Science, vol 7977: (pp. 186-200). Springer
Open this publication in new window or tab >>Generating feature usage scenarios in client-side web applications
2013 (English)In: Lecture Notes in Computer Science, vol 7977, Springer, 2013, p. 186-200Chapter in book (Refereed)
Abstract [en]

Client-side web applications are highly-dynamic event-driven GUI applications where the majority of code is executed as a response to user-generated events. Many software engineering activities (e.g. testing) require sequences of actions (i.e. usage scenarios) that execute the application code with high coverage. Specifying these usage scenarios is a difficult and time-consuming activity. This is especially true when generating usage scenarios for a particular feature because it requires in-depth knowledge of application behavior and understanding of the underlying implementation. In this paper we present a method for automatic generation of feature usage scenarios. The method is based on dynamic analysis and systematic exploration of the application's event and value space. We have evaluated the approach in a case study, and the evaluation shows that the method is capable of identifying usage scenarios for a particular feature. We have also performed the evaluation on a suite of web applications, and the results show that an increase in coverage can be achieved, when compared to the initial coverage obtained by loading the page and executing registered events

Place, publisher, year, edition, pages
Springer, 2013
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 7977
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-20924 (URN)10.1007/978-3-642-39200-9_17 (DOI)2-s2.0-84880904622 (Scopus ID)9783642391996 (ISBN)
Note

13th International Conference on Web Engineering, ICWE 2013; Aalborg; Denmark; 8 July 2013 through 12 July 2013;

Available from: 2013-09-05 Created: 2013-08-16 Last updated: 2016-05-17Bibliographically approved
Maras, J., Carlson, J. & Crnkovic, I. (2013). Towards automatic client-side feature reuse. In: Lecture Notes in Computer Science, vol 8181: (pp. 479-499). Springer
Open this publication in new window or tab >>Towards automatic client-side feature reuse
2013 (English)In: Lecture Notes in Computer Science, vol 8181, Springer, 2013, p. 479-499Chapter in book (Refereed)
Abstract [en]

Client-side applications often contain similar features and facilitating reuse could offer considerable benefits in terms of faster development. Unfortunately, due to the specifics of prevailing technologies, the techniques and tools used to support reuse are not as advanced as in other software engineering disciplines and the main method of reuse is still copy-pasting code. Copy-paste reuse can introduce a number of different types of errors that are time-consuming to detect and fix. In this paper we present an automatic method for feature reuse in client-side web applications. We identify problems that occur when introducing code from one application into another, present a set of algorithms that detect and fix those problems and perform the actual code merging. We have evaluated the approach on four case study applications, and the results show that the method is capable of performing feature reuse.

Place, publisher, year, edition, pages
Springer, 2013
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 8181
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-23040 (URN)10.1007/978-3-642-41154-0_36 (DOI)000342805300038 ()2-s2.0-84887465892 (Scopus ID)9783642411533 (ISBN)
Note

14th International Conference on Web Information Systems Engineering, WISE 2013; Nanjing; China; 13 October 2013 through 15 October 2013

Available from: 2013-11-29 Created: 2013-11-29 Last updated: 2018-07-30Bibliographically approved
Maras, J., Lednicki, L. & Crnkovic, I. (2012). 15 Years of CBSE Symposium: Impact onthe Research Community. In: CBSE '12 Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering: . Paper presented at 15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE'12; Bertinoro; 25 June 2012 through 28 June 2012 (pp. 61-70).
Open this publication in new window or tab >>15 Years of CBSE Symposium: Impact onthe Research Community
2012 (English)In: CBSE '12 Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering, 2012, p. 61-70Conference paper, Published paper (Refereed)
Abstract [en]

In 2012, the International Symposium on Component-based Software Engineering (CBSE) is being organized for the 15th time. This is a great opportunity to take a step back and reflect on the impact of the symposium over these 15 years. Several interesting questions immediately come to mind: What were the main topics of interest in the community? What is the maturity of the field? What is the research CBSE Symposia impact? Who are the mots involved researches and researchers centers? In order to answer these questions we have performed a systematic review of 318 papers published under CBSE. In this paper we provide answers about the impact of the event, list and categorize the most frequent topics, and give some statistical data about the event during this period.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-17338 (URN)10.1145/2304736.2304748 (DOI)2-s2.0-84864037053 (Scopus ID)978-145031345-2 (ISBN)
Conference
15th ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE'12; Bertinoro; 25 June 2012 through 28 June 2012
Available from: 2012-12-20 Created: 2012-12-20 Last updated: 2015-02-04Bibliographically approved
Crnkovic, I., Maras, J. & Lednicki, L. (2012). CBSE symposium - complete reference list.
Open this publication in new window or tab >>CBSE symposium - complete reference list
2012 (English)Report (Other academic)
Abstract [en]

This report presents a complete list of papers published on the CBSE Syposium events (including Interational Workhop on Component Based Software Engineering 1998 - 2003, and International Symposium on Component Based Software Engineering 2004 - 2011). Each reference is accompanied with a unique identifier in the form of S-YY-Index.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-17236 (URN)
Available from: 2012-12-20 Created: 2012-12-20 Last updated: 2015-02-04Bibliographically approved
Maras, J., Carlson, J. & Crnkovic, I. (2012). Extracting client-side web application code. In: WWW'12 - Proceedings of the 21st Annual Conference on World Wide Web: . Paper presented at 21st Annual Conference on World Wide Web, WWW'12; Lyon; 16 April 2012 through 20 April 2012 (pp. 819-828).
Open this publication in new window or tab >>Extracting client-side web application code
2012 (English)In: WWW'12 - Proceedings of the 21st Annual Conference on World Wide Web, 2012, p. 819-828Conference paper, Published paper (Refereed)
Abstract [en]

The web application domain is one of the fastest growing and most wide-spread application domains today. By utilizing fast, modern web browsers and advanced scripting techniques, web developers are developing highly interactive applications that can, in terms of user-experience and responsiveness, compete with standard desktop applications. A web application is composed of two equally important parts: the server-side and the client-side. The client-side acts as a user-interface to the application, and can be viewed as a collection of behaviors. Similar behaviors are often used in a large number of applications, and facilitating their reuse offers considerable benefits. However, due to client-side specifics, such as multi-language implementation and extreme dynamicity, identifying and extracting code responsible for a certain behavior is difficult. In this paper we present a semi-automatic method for extracting client-side web application code implementing a certain behavior. We show how by analyzing the execution of a usage scenario, code responsible for a certain behavior can be identified, how dependencies between different parts of the application can be tracked, and how in the end only the code responsible for a certain behavior can be extracted. Our evaluation shows that the method is capable of extracting stand-alone behaviors, while achieving considerable savings in terms of code size and application performance.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-17238 (URN)10.1145/2187836.2187947 (DOI)2-s2.0-84860854287 (Scopus ID)978-145031229-5 (ISBN)
Conference
21st Annual Conference on World Wide Web, WWW'12; Lyon; 16 April 2012 through 20 April 2012
Available from: 2012-12-20 Created: 2012-12-20 Last updated: 2015-02-04Bibliographically approved
Maras, J., Carlson, J. & Crnković, I. (2011). Client-side web application slicing. In: 2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings: . Paper presented at 2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, 6 November 2011 through 10 November 2011, Lawrence, KS (pp. 504-507).
Open this publication in new window or tab >>Client-side web application slicing
2011 (English)In: 2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings, 2011, p. 504-507Conference paper, Published paper (Refereed)
Abstract [en]

Highly interactive web applications that offer user experience and responsiveness of standard desktop applications are becoming prevalent in the web application domain. However, with these benefits come certain drawbacks. For example, the event-based architectural style, and poor support for code organization, often lead to a situation where code responsible for a certain behavior is intermixed with irrelevant code. This makes development, debugging and reuse difficult. One way of locating code implementing a certain behavior is program slicing, a method that, given a subset of a program's behavior, reduces the program to a minimal form that still produces that behavior. In this paper we present a semi-automatic client-side web application slicing method, describe the web page dependency graph, and show how it can be used to extract only the code implementing a certain behavior. © 2011 IEEE.

Keywords
code reuse, dynamic program slicing, JavaScript, web application, Architectural style, Dependency graphs, Event-based, Interactive web applications, Program slicing, Semi-automatics, Standard desktop, User experience, Web page, Automation, Codes (symbols), Program processors, World Wide Web, Software engineering
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-15985 (URN)10.1109/ASE.2011.6100110 (DOI)2-s2.0-84855458189 (Scopus ID)9781457716393 (ISBN)
Conference
2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, 6 November 2011 through 10 November 2011, Lawrence, KS
Note

Sponsors: IEEE; IEEE Computer Society; Association for Computing Machinery (ACM); SIGART; SIGSOFT

Available from: 2013-01-02 Created: 2012-10-29 Last updated: 2015-02-04Bibliographically approved
Stula, M., Doko, A. & Maras, J. (2011). COUNTRY’S INTERNET SPREADING RATE MODELLING WITH FUZZY COGNITIVE MAP. International Journal of Modelling and Simulation, 31(4), 287-295
Open this publication in new window or tab >>COUNTRY’S INTERNET SPREADING RATE MODELLING WITH FUZZY COGNITIVE MAP
2011 (English)In: International Journal of Modelling and Simulation, ISSN 0228-6203, Vol. 31, no 4, p. 287-295Article in journal (Refereed) Published
Abstract [en]

Fuzzy Cognitive Map (FCM) is a qualitative modelling and behaviour simulation method that can utilize imprecise and incomplete information, like one found on the web, to model different systems. Knowledge mapping from such information to a FCM can be accomplished with documentary coding method. This paper shows how this can be done, presenting a FCM map that models internet spreading rate in different countries. Obtained map can simulate the system behaviour and can be used as a decision support tool. The quality of proposed approach, that uses documentary coding to build FCM models from imprecise and incomplete knowledge about system domain, is compared with multiple linear regression statistical method for building models for prediction and explanation. The conclusion made in the paper from the results obtained in the presented example is that when dealing with imprecise and incomplete information about system the FCM method gives robust system model.

National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-13555 (URN)10.2316/Journal.20.2011.4.205-5525 (DOI)2-s2.0-84255166808 (Scopus ID)
Available from: 2011-12-15 Created: 2011-12-15 Last updated: 2018-01-12Bibliographically approved
Maras, J. (2011). Pragmatic reuse in web application development. In: Proceedings - International Conference on Software Engineering: . Paper presented at 33rd International Conference on Software Engineering, ICSE 2011; Waikiki, Honolulu, HI; United States; 21 May 2011 through 28 May 2011; Code 85380 (pp. 1094-1097).
Open this publication in new window or tab >>Pragmatic reuse in web application development
2011 (English)In: Proceedings - International Conference on Software Engineering, 2011, p. 1094-1097Conference paper, Published paper (Refereed)
Abstract [en]

Highly interactive web applications that offer user experience and responsiveness of desktop applications are becoming increasingly popular. They are often composed out of visually distinctive user-interface (UI) elements that encapsulate a certain behavior - the so called UI controls. Similar controls are often used in a large number of web pages, and facilitating their reuse would offer considerable benefits. Unfortunately, because of a very short time-to- market, and a fast pace of technology development, preparing controls for reuse is usually not a primary concern. The focus of my research will be to circumvent this limitation by developing a method, and the accompanying tool for supporting web UI control reuse.

National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-13556 (URN)10.1145/1985793.1986004 (DOI)000297156400160 ()2-s2.0-79959876561 (Scopus ID)9781450304450 (ISBN)
Conference
33rd International Conference on Software Engineering, ICSE 2011; Waikiki, Honolulu, HI; United States; 21 May 2011 through 28 May 2011; Code 85380
Available from: 2011-12-15 Created: 2011-12-15 Last updated: 2018-01-12Bibliographically approved
Borde, E., Carlson, J., Feljan, J., Lednicki, L., Leveque, T., Maras, J., . . . Sentilles, S. (2011). PRIDE - an Environment for Component-based Development of Distributed Real-time Embedded Systems. In: 9th Working IEEE/IFIP Conference on Software Architecture. Paper presented at 9th Working IEEE/IFIP Conference on Software Architecture (WICSA) on Architecture Across Boundaries/CompArch Conference Location: Boulder, CO Date: JUN 20-24, 2011 (pp. 351-354). Los Alamitos: IEEE Computer Society
Open this publication in new window or tab >>PRIDE - an Environment for Component-based Development of Distributed Real-time Embedded Systems
Show others...
2011 (English)In: 9th Working IEEE/IFIP Conference on Software Architecture, Los Alamitos: IEEE Computer Society, 2011, p. 351-354Conference paper, Published paper (Refereed)
Abstract [en]

Settling down the software architecture for embedded system is a complex and time consuming task. Specific concerns that are generally issued from implementation details must be captured in the software architecture and assessed to ensure system correctness. The matter is further complicated by the inherent complexity and heterogeneity of the targeted systems, platforms and concerns. In addition, tools capable of conjointly catering for the complete design-verificationdeployment cycle, extra-functional properties and reuse are currently lacking. To address this, we have developed Pride, an integrated development environment for component-based development of embedded systems. Pride is based on an architecture relying on components with well-defined semantics that serve as the central development entity, and as means to support and aggregate various analysis and verification techniques throughout the development - from early specification to synthesis and deployment. Pride also provides generic support for integrating extra-functional properties into architectural definitions.

Place, publisher, year, edition, pages
Los Alamitos: IEEE Computer Society, 2011
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:mdh:diva-13680 (URN)10.1109/WICSA.2011.56 (DOI)000299279500048 ()978-0-7695-4351-2 (ISBN)
Conference
9th Working IEEE/IFIP Conference on Software Architecture (WICSA) on Architecture Across Boundaries/CompArch Conference Location: Boulder, CO Date: JUN 20-24, 2011
Available from: 2011-12-15 Created: 2011-12-15 Last updated: 2018-01-12Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-1756-0453

Search in DiVA

Show all publications