WITHDRAWN: Software reuse

WITHDRAWN: Software reuse

ARTICLE IN PRESS JID: JSS [m5G;November 24, 2016;7:42] The Journal of Systems and Software 0 0 0 (2016) 1–2 Contents lists available at ScienceDir...

217KB Sizes 2 Downloads 101 Views

ARTICLE IN PRESS

JID: JSS

[m5G;November 24, 2016;7:42]

The Journal of Systems and Software 0 0 0 (2016) 1–2

Contents lists available at ScienceDirect

The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss

Editorial

Software reuse

1. Introduction In the modern era, software development faces new challenges due to the fact that software applications become more mobile and pervasive because of technological advancements such as mobile computing, the Internet of Things or Cloud computing. The need for practical software reuse is nowadays even more pressing, while new and more complicated reuse problems arise. Innovative formal and generative approaches are needed to avoid re-designing and re-implementing software solutions, features, patterns, components, designs, tests, etc. Special care should be taken for the non-functional properties of the new generations of software systems, such as performance or security, in case of intensive reuse. The 2015 edition of the International Conference on Software Reuse (ICSR) took place in Miami (Florida/US), on 4–6 January (http://icsr2015.ipd.kit.edu/). The papers presented during the event covered several of the above research areas. Following this successful event an open call for paper proposals was launched aiming at a Special Issue for the Journal of Systems and Software. Specifically the call asked for advance research works in the areas of COTS/Component/Service based reuse, Domain analysis and modeling, Asset search and retrieval, Reuse quality assurance, Software product lines, Reuse in mobile/ubiquitous/cloud computing, Open source software, Lightweight/agile reuse, Reuse of software artifacts beyond software code and Business/legal/economic issues in reuse. Both papers from ICSR 2015 and independent papers were eligible for submission. As a result of the call, 36 papers were submitted showing the intensive interest of the international software engineering research community on the issues pertaining software reuse. After a long double blind review process involving three reviewers, 13 high quality papers have been accepted, resulting in a 36% acceptance rate. Six out of the 13 papers are extended versions of the best ICSR 2015 papers. These papers provide the reader with a panoramic view of the most recent research advancements in the many facets of software reuse. 2. Selected papers The first three papers deal with reuse in the context of software product lines. Anas Shatnawi and co-authors in Recovering Software Product Line Architecture of a Family of Object-Oriented Product Variants deal with re-engineering a software product line architecture from existing software variants. Their work relies on formal concept analysis to determine commonality and variability http://dx.doi.org/10.1016/j.jss.2016.11.017 0164-1212/© 2016 Elsevier Inc. All rights reserved.

on the architectural level. De Oliveira and co-authors in Evaluating Lehman’s Laws of Software Evolution within Software Product Lines Industrial Projects consider two real-world case studies to evaluate software product line evolution. In particular, they investigate where Lehmans’ Laws of software evolution, originally conceived for single software systems, are applied in software product line evolution. In Exploring Quality Measures for the Evaluation of Feature Models: A Case Study, Carla Bezerra, Rossana Andrade and José Maria Monteiro conduct an empirical study of various existing measures for feature model quality. They find that those measures can be used to effectively support the quality evaluation of feature models, the predominant problem space modeling techniques in software product line engineering. The next two papers investigate reuse issues in the realm of open source software. In this context, reuse is privileged because of the easy access to an enormous quantity of source code. In Automating the license compatibility process in open source software with SPDX, Georgia Kapitsaki, Frederik Kramer and Nikolaos Tselikas use SPDX files in open source to resolve license compatibility issues and detect license violations. In addition, they propose valid combinations of open source packages and licenses. In Construction and Utilization of Problem-Solving Knowledge in Open Source Software Environments, Hyung-Min Koo and In-Young Ko build a Bayesian network for constructing a knowledge base in a semi-automatic way. Knowledge comes in terms of causes, symptoms and solutions to problems related to open source code and its reuse. The next five papers consider reuse problems in the context of programming languages and environments. Lorenzo Bettini and Ferruccio Damiani in Xtraitj: Traits for the Java Platform, present an advanced version of Xtraitj, a trait-based programming language with complete compatibility and interoperability with the Java platform, that allows for trait assessment without the availability of the original Xtraitj source code. Anas Shatnawi, Abdelhak-Djamel Seriai, Houari Sahraoui and Zakarea Al Shara, in Reverse Engineering Reusable Software Components from ObjectOriented APIs, describe an approach that reengineers APIs to produce reusable components. They validate their proposal on 100 Java applications and four APIs. In another paper related to APIs, entitled Stepwise API Usage Assistance Using N-Gram Language Models, André Santos, Gonçalo Prendi, Hugo Sousa and Ricardo Ribeiro propose an approach for recommending subsequent tokens while completing API related sentences. They achieve their goal by using n-gram language models built from source code corpora. Their tool is integrated in Eclipse IDE and is tested on four widely used APIs.

JID: JSS 2

ARTICLE IN PRESS

[m5G;November 24, 2016;7:42]

Editorial / The Journal of Systems and Software 000 (2016) 1–2

A Formal Approach to Implement Java Exceptions in Cooperative Systems, by Ana Cristina Vieira de Melo and Simone Hanazumi, proposes a reliable framework for the implementation of Java exceptions propagation and recovery in cooperative systems based on coordinated atomic action (CAA) concepts. System properties to be preserved are proved with the Java Pathfinder (JPF) model checker. In An Exploratory Study on the Usage of Common Interface Elements in Android Applications, by Shaohua Wang Ying Zou, Iman Keivanloo and Seyyed Ehsan Salamati Taba, commonly used User Iterface (UI) elements are extracted from user interfaces of Android applications. Based on the intensity of usage and user perceived quality the authors provide reusable UI templates. Finally, the last three papers deal with the reuse of software assets other than the source code. In Scope-aided Test Prioritization, Selection and Minimization for Software Reuse, Breno Miranda and Antonia Bertolino propose various approaches for improving test effectiveness while reusing, by exploiting information about the reuse context. In Reusing Business Components and Objects for Modeling Business Systems: The Influence of Decomposition Characteristics and Analyst Experience, authors Atish Sinha and Hemant Jain investigate the ability of systems analysts to

model business systems by reusing business components rather than by reusing objects. They discover that reusing business objects has better results and requires less experience. In A Method to Generate Reusable Safety Case Argument-Fragments from Compositional Safety Analysis, the authors (Irfan Sljivo, Barbara Gallina, Jan Carlson, Hans Hansson and Stefano Puri) propose an approach for the generation of reusable safety-related arguments to support compositional safety analysis and evaluate it on a real world case study. Guest Editors

Ina Schaefer∗ Technical University of Braunschweig, Germany Ioannis Stamelos Aristotle University of Thessaloniki, Greece ∗ Corresponding author. E-mail addresses: [email protected] (I. Schaefer), [email protected] (I. Stamelos)