-
FollowMe@LS: Electricity price and source aware resource management in geographically distributed heterogeneous datacenters J. Syst. Softw. (IF 2.45) Pub Date : 2021-01-19 Hashim Ali; Muhammad Zakarya; Izaz Ur Rahman; Ayaz Ali Khan; Rajkumar Buyya
With rapid availability of renewable energy sources and growing interest in their use in the datacenter industry presents opportunities for service providers to reduce their energy related costs, as well as, minimize the ecological impact of their infrastructure. However, renewables are largely intermittent and can, negatively affect users’ applications and their performance, therefore, the profit
-
Concept drift-aware temporal cloud service APIs recommendation for building composite cloud systems J. Syst. Softw. (IF 2.45) Pub Date : 2021-01-07 Lei Wang; Yunqiu Zhang; Xiaohu Zhu
-
FaaSten your decisions: A classification framework and technology review of function-as-a-Service platforms J. Syst. Softw. (IF 2.45) Pub Date : 2021-01-09 Vladimir Yussupov; Jacopo Soldani; Uwe Breitenbücher; Antonio Brogi; Frank Leymann
Function-as-a-Service (FaaS) is a cloud service model enabling developers to offload event-driven executable snippets of code. The execution and management of such functions becomes a FaaS provider’s responsibility, therein included their on-demand provisioning and automatic scaling. Key enablers for this cloud service model are FaaS platforms, e.g., AWS Lambda, Microsoft Azure Functions, or OpenFaaS
-
Ensemble Effort Estimation using dynamic selection J. Syst. Softw. (IF 2.45) Pub Date : 2021-01-08 Jose Thiago H. de A. Cabral; Adriano L.I. Oliveira
The Software Effort Estimation (SEE) process has been approached in different ways in the literature, including models built from Machine Learning (ML). The combination of these models (Ensemble) is an important research topic in ML, and has lead to improvements in accuracy compared to individual models. This paper proposes heterogeneous and dynamic ensemble selection (DES) models, composed by a set
-
Fast and accurate incremental feedback for students’ software tests using selective mutation analysis J. Syst. Softw. (IF 2.45) Pub Date : 2021-01-08 Ayaan M. Kazerouni; James C. Davis; Arinjoy Basak; Clifford A. Shaffer; Francisco Servant; Stephen H. Edwards
As incorporating software testing into programming assignments becomes routine, educators have begun to assess not only the correctness of students’ software, but also the adequacy of their tests. In practice, educators rely on code coverage measures, though its shortcomings are widely known. Mutation analysis is a stronger measure of test adequacy, but it is too costly to be applied beyond the small
-
Efficient and effective exploratory testing of large-scale software systems J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-27 Torvald Mårtensson; Daniel Ståhl; Antonio Martini; Jan Bosch
Context: Exploratory testing plays an important role in the continuous integration and delivery pipelines of large-scale software systems, but a holistic and structured approach is needed to realize efficient and effective exploratory testing. Objective: This paper seeks to address the need for a structured and reliable approach by providing a tangible model, supporting practitioners in the industry
-
A systematic literature review of blockchain and smart contract development: Techniques, tools, and open challenges J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-28 Anna Vacca; Andrea Di Sorbo; Corrado A. Visaggio; Gerardo Canfora
Blockchain platforms and languages for writing smart contracts are becoming increasingly popular. However, smart contracts and blockchain applications are developed through non-standard software life-cycles, in which, for instance, delivered applications can hardly be updated or bugs resolved by releasing a new version of the software. Therefore, this systematic literature review oriented to software
-
A deductive reasoning approach for database applications using verification conditions J. Syst. Softw. (IF 2.45) Pub Date : 2021-01-05 Md Imran Alam; Raju Halder; Jorge Sousa Pinto
Deductive verification has gained paramount attention from both academia and industry. Although intensive research in this direction covers almost all mainstream languages, the research community has paid little attention to the verification of database applications. This paper proposes a comprehensive set of Verification Conditions (VCs) generation techniques from database programs, adapting Symbolic
-
Change impact analysis: A systematic mapping study J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-28 Maria Kretsou; Elvira-Maria Arvanitou; Apostolos Ampatzoglou; Ignatios Deligiannis; Vassilis C. Gerogiannis
Change Impact Analysis (CIA) is the process of exploring the tentative effects of a change in other parts of a system. CIA is considered beneficial in practice, since it reduces cost of maintenance and the risk of software development failures. In this paper, we present a systematic mapping study that covers a plethora of CIA methods (by exploring 111 papers), putting special emphasis on how the CIA
-
Early and quick function points analysis: Evaluations and proposals J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-23 Geng Liu; Luigi Lavazza
Measuring Function Points following the standard process is sometimes long and expensive. To solve this problem, several early estimation methods have been proposed. Among these, the “NESMA Estimated” method is one of the most widely used; it has also been selected by the International Function Point User Group as the official early function point analysis method, under the name of ‘High-level FPA’
-
Signal-Based Properties of Cyber-Physical Systems: Taxonomy and Logic-based Characterization J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-17 Chaima Boufaied; Maris Jukss; Domenico Bianculli; Lionel Claude Briand; Yago Isasi Parache
The behavior of a cyber-physical system (CPS) is usually defined in terms of the input and output signals processed by sensors and actuators. Requirements specifications of CPSs are typically expressed using signal-based temporal properties. Expressing such requirements is challenging, because of (1) the many features that can be used to characterize a signal behavior; (2) the broad variation in expressiveness
-
An empirical study of optimization bugs in GCC and LLVM J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-14 Zhide Zhou; Zhilei Ren; Guojun Gao; He Jiang
Optimizations are the fundamental component of compilers. Bugs in optimizations have significant impacts, and can cause unintended application behavior and disasters, especially for safety-critical domains. Thus, an in-depth analysis of optimization bugs should be conducted to help developers understand and test the optimizations in compilers. To this end, we conduct an empirical study to investigate
-
A systematic mapping study on architectural smells detection J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-07 Haris Mumtaz; Paramvir Singh; Kelly Blincoe
The recognition of the need for high-quality software architecture is evident from the increasing trend in investigating architectural smells. Detection of architectural smells is paramount because they can seep through to design and implementation stages if left unidentified. Many architectural smells detection techniques and tools are proposed in the literature. The diversity in the detection techniques
-
A family of experiments to generate graphical user interfaces from BPMN models with stereotypes J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-16 Eduardo Díaz; José Ignacio Panach; Silvia Rueda; Damiano Distante
Context: A significant gap separates Business Process Model and Notation (BPMN) models representing processes from the design of Graphical User Interfaces (GUIs). Objective: This paper reports on a family of experiments to validate a method to automatically generate GUIs from BPMN models using stereotypes complemented with UML class primitives, and transformation rules. Method: We conducted two replications
-
Dynamic partitioned scheduling of real-time tasks on ARM big.LITTLE architectures J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-11 Agostino Mascitti; Tommaso Cucinotta; Mauro Marinoni; Luca Abeni
This paper presents Big-LITTLE Constant Bandwidth Server (BL-CBS), a dynamic partitioning approach to schedule real-time task sets in an energy-efficient way on multi-core platforms based on the ARM big.LITTLE architecture. BL-CBS is designed as an on-line and adaptive scheduler, based on a push/pull architecture that is suitable to be incorporated in the current SCHED_DEADLINE code base in the Linux
-
How to kill them all: An exploratory study on the impact of code observability on mutation testing J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-03 Qianqian Zhu; Andy Zaidman; Annibale Panichella
Mutation testing is well-known for its efficacy in assessing test quality, and starting to be applied in the industry. However, what should a developer do when confronted with a low mutation score? Should the test suite be plainly reinforced to increase the mutation score, or should the production code be improved as well, to make the creation of better tests possible? In this paper, we aim to provide
-
On the impact of release policies on bug handling activity: A case study of Eclipse J. Syst. Softw. (IF 2.45) Pub Date : 2020-12-03 Zeinab Abou Khalil; Eleni Constantinou; Tom Mens; Laurence Duchien
Large software projects follow a continuous development process with regular releases during which bugs are handled. In recent years, many software projects shifted to rapid releases that reduce time-to-market and claim a faster delivery of fixed issues, but also have a shorter period to address bugs. To better understand the impact of rapid releases on bug handling activity, we empirically analyze
-
Initiatives and challenges of using gamification in software engineering: A Systematic Mapping J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-27 Daniel de Paula Porto; Gabriela Martins de Jesus; Fabiano Cutigi Ferrari; Sandra Camargo Pinto Ferraz Fabbri
Context: Gamification is an emerging subject that has been applied in different areas, bringing contributions to different types of activities. Objective: This paper aims to characterize how gamification has been adopted in non-educational contexts of software engineering (SE) activities. Methods: We performed a Systematic Mapping of the literature obtained from relevant databases of the area. The
-
The role of the project manager in agile software development projects J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-25 Yogeshwar Shastri; Rashina Hoda; Robert Amor
Agile teams are not meant to have project managers. Instead, agile methods such as Scrum and XP define roles such as product owner, scrum master, and coach. Studies have uncovered the existence of the project manager in agile projects, pointing to disconnect between theory and practice. To address this gap, a Grounded Theory study with a mixed methods approach was conducted using multiple sources of
-
A taxonomy of service identification approaches for legacy software systems modernization J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-20 Manel Abdellatif; Anas Shatnawi; Hafedh Mili; Naouel Moha; Ghizlane El Boussaidi; Geoffrey Hecht; Jean Privat; Yann-Gaël Guéhéneuc
The success of modernizing legacy software systems to Service-Oriented Architecture (SOA) depends on Service Identification Approaches (SIAs), which identify reusable functionalities that could become services. The literature describes several SIAs. However, the selection of an identification approach that is suitable for a practitioner is difficult because it depends on several factors, including
-
Managing latency in edge–cloud environment J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-23 Lubomír Bulej; Tomáš Bureš; Adam Filandr; Petr Hnětynka; Iveta Hnětynková; Jan Pacovský; Gabor Sandor; Ilias Gerostathopoulos
Modern Cyber–physical Systems (CPS) include applications like smart traffic, smart agriculture, smart power grid, etc. Commonly, these systems are distributed and composed of end-user applications and microservices that typically run in the cloud. The connection with the physical world, which is inherent to CPS, brings the need to operate and respond in real-time. As the cloud becomes part of the computation
-
ACCORDANT: A domain specific-model and DevOps approach for big data analytics architectures J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-20 Camilo Castellanos; Carlos A. Varela; Dario Correal
Big data analytics (BDA) applications use machine learning algorithms to extract valuable insights from large, fast, and heterogeneous data sources. New software engineering challenges for BDA applications include ensuring performance levels of data-driven algorithms even in the presence of large data volume, velocity, and variety (3Vs). BDA software complexity frequently leads to delayed deployments
-
On the diversity and frequency of code related to mathematical formulas in real-world Java projects J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-17 Oliver Moseler; Felix Lemmer; Sebastian Baltes; Stephan Diehl
In this paper, the term formula code refers to fragments of source code that implement a mathematical formula. We present empirical studies that analyze the diversity and frequency of formula code in open-source-software projects. In an exploratory study, we investigated what kinds of formulas are implemented in real-world Java projects and derived syntactical patterns and constraints. We refined these
-
A comprehensive comparative study of clustering-based unsupervised defect prediction models J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-16 Zhou Xu; Li Li; Meng Yan; Jin Liu; Xiapu Luo; John Grundy; Yifeng Zhang; Xiaohong Zhang
Software defect prediction recommends the most defect-prone software modules for optimization of the test resource allocation. The limitation of the extensively-studied supervised defect prediction methods is that they require labeled software modules which are not always available. An alternative solution is to apply clustering-based unsupervised models to the unlabeled defect data, called Clustering-based
-
Convolutional neural networks for enhanced classification mechanisms of metamodels J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-08 Phuong T. Nguyen; Davide Di Ruscio; Alfonso Pierantonio; Juri Di Rocco; Ludovico Iovino
Conventional wisdom on Model-Driven Engineering suggests that metamodels are crucial elements for modeling environments consisting of graphical editors, transformations, code generators, and analysis tools. Software repositories are commonly used in practice for locating existing artifacts provided that a classification procedure is available. However, the manual classification of metamodel in repositories
-
How are issue reports discussed in Gitter chat rooms? J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-02 Hareem Sahar; Abram Hindle; Cor-Paul Bezemer
Informal communication channels like mailing lists, IRC and instant messaging play a vital role in open source software development by facilitating communication within geographically diverse project teams e.g., to discuss issue reports to facilitate the bug-fixing process. More recently, chat systems like Slack and Gitter have gained a lot of popularity and developers are rapidly adopting them. Gitter
-
A Test Restoration Method based on Genetic Algorithm for effective fault localization in multiple-fault programs J. Syst. Softw. (IF 2.45) Pub Date : 2020-11-05 Yan Xiaobo; Liu Bin; Wang Shihai
Automatic fault localization is essential for software engineering. However, fault localization suffers from the interactions among multiple faults. Our previous research revealed that the fault-coupling effect is responsible for the weakened fault localization performance in multiple-fault programs. On the basis of this finding, we propose a Test Case Restoration Method based on the Genetic Algorithm
-
Requirements engineering challenges and practices in large-scale agile system development J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-29 Rashidah Kasauli; Eric Knauss; Jennifer Horkoff; Grischa Liebel; Francisco Gomes de Oliveira Neto
Context: Agile methods have become mainstream even in large-scale systems engineering companies that need to accommodate different development cycles of hardware and software. For such companies, requirements engineering is an essential activity that involves upfront and detailed analysis which can be at odds with agile development methods. Objective: This paper presents a multiple case study with
-
Hansie: Hybrid and consensus regression test prioritization J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-27 Shouvick Mondal; Rupesh Nasre
Traditionally, given a test-suite and the underlying system-under-test, existing test-case prioritization heuristics report a permutation of the original test-suite that is seemingly best according to their criteria. However, we observe that a single heuristic does not perform optimally in all possible scenarios, given the diverse nature of software and its changes. Hence, multiple individual heuristics
-
Legacy software migration based on timing contract aware real-time execution environments J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-22 Irune Yarza; Mikel Azkarate-askatsua; Peio Onaindia; Kim Grüttner; Philipp Ittershagen; Wolfgang Nebel
The evolution to next generation embedded systems is shortening the obsolescence period of the underlying hardware. As this happens, software designed for those platforms (a.k.a., legacy code), that might be functionally correct and validated code, may be lost in the architecture and peripheral change unless a retargeting approach is applied. Embedded systems often have real-time computing constraints
-
Software engineering practices for scientific software development: A systematic mapping study J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-23 Elvira-Maria Arvanitou; Apostolos Ampatzoglou; Alexander Chatzigeorgiou; Jeffrey C. Carver
Background: The development of scientific software applications is far from trivial, due to the constant increase in the necessary complexity of these applications, their increasing size, and their need for intensive maintenance and reuse. Aim: To this end, developers of scientific software (who usually lack a formal computer science background) need to use appropriate software engineering (SE) practices
-
Enabling consistency in view-based system development — The Vitruvius approach J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-09 Heiko Klare; Max E. Kramer; Michael Langhammer; Dominik Werle; Erik Burger; Ralf Reussner
During the development of large software-intensive systems, developers use several modeling languages and tools to describe a system from different viewpoints. Model-driven and view-based technologies have made it easier to define domain-specific languages and transformations. Nevertheless, using several languages leads to fragmentation of information, to redundancies in the system description, and
-
Are game engines software frameworks? A three-perspective study J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-10 Cristiano Politowski; Fabio Petrillo; João Eduardo Montandon; Marco Tulio Valente; Yann-Gaël Guéhéneuc
Game engines help developers create video games and avoid duplication of code and effort, like frameworks for traditional software systems. In this paper, we explore open-source game engines along three perspectives: literature, code, and human. First, we explore and summarize the academic literature on game engines. Second, we compare the characteristics of the 282 most popular engines and the 282
-
An automated model-based approach to repair test suites of evolving web applications J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-28 Javaria Imtiaz; Muhammad Zohaib Iqbal; Muhammad Uzair khan
Capture–Replay tools are widely used for the automated testing of web applications The scripts written for these Capture–Replay tools are strongly coupled with the web elements of web applications. These test scripts are sensitive to changes in web elements and require repairs as the web pages evolve. In this paper, we propose an automated model-based approach to repair the Capture–Replay test scripts
-
Translation from layout-based to visual android test scripts: An empirical evaluation J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-10 Riccardo Coppola; Luca Ardito; Marco Torchiano; Emil Alégroth
Mobile GUI tests can be classified as layout-based – i.e. using GUI properties as locators – or Visual – i.e. using widgets’ screen captures as locators –. Visual test scripts require significant maintenance efforts to be kept aligned with the tested application as it evolves or it is ported to different devices. This work aims to conceptualize a translation-based approach to automatically derive Visual
-
A systematic literature review on Technical Debt prioritization: Strategies, processes, factors, and tools J. Syst. Softw. (IF 2.45) Pub Date : 2020-10-14 Valentina Lenarduzzi; Terese Besker; Davide Taibi; Antonio Martini; Francesca Arcelli Fontana
Background Software companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring of Technical Debt should be prioritized with respect to developing features or fixing bugs. Objective The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches
-
Large scale quality transformation in hybrid development organizations – A case study J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-22 Satya Pradhan; Venky Nanniyur
As the software industry transitions to a subscription-based software-as-a-service (SaaS) model, software development companies are transforming to hybrid development organizations with increased adoption of Agile and Continuous Integration/ Continuous Delivery (CI/CD) development practices for newer products while continuing to use Waterfall methods for older products. This transformation is a huge
-
A security pattern detection framework for building more secure software J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-28 Aleem Khalid Alvi; Mohammad Zulkernine
Security patterns are one of the reusable building blocks of a secure software architecture that provide solutions to particular recurring security problems in given contexts. Incomplete or nonstandard implementation of security patterns may produce vulnerabilities and invite attackers. Therefore, the detection of security patterns improves the quality of security features. In this paper, we propose
-
Crowdsourced Behavior-Driven Development J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-22 Emad Aghayi; Thomas D. LaToza; Paurav Surendra; Seyedmeysam Abolghasemi
-
Toward the automatic classification of Self-Affirmed Refactoring J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-22 Eman Abdullah AlOmar; Mohamed Wiem Mkaouer; Ali Ouni
The concept of Self-Affirmed Refactoring (SAR) was introduced to explore how developers document their refactoring activities in commit messages, i.e., developers explicit documentation of refactoring operations intentionally introduced during a code change. In our previous study, we have manually identified refactoring patterns and defined three main common quality improvement categories including
-
A comprehensive study of automatic program repair on the QuixBugs benchmark J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-22 He Ye; Matias Martinez; Thomas Durieux; Martin Monperrus
Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an empirical study of automatic repair on a benchmark of bugs called QuixBugs, which has been little studied. In this paper, (1) We report on the characteristics of QuixBugs; (2) We study the effectiveness
-
Do scaling agile frameworks address global software development risks? An empirical study J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-16 Sarah Beecham; Tony Clear; Ramesh Lal; John Noll
Driven by the need to coordinate activities of multiple agile development teams cooperating to produce a large software product, software-intensive organizations are turning to scaling agile software development frameworks. Despite the growing adoption of various scaling agile frameworks, there is little empirical evidence of how effective their practices are in mitigating risk, especially in global
-
Accessibility and Software Engineering Processes: A Systematic Literature Review J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-12 Débora Maria Barroso Paiva; André Pimenta Freire; Renata Pontin de Mattos Fortes
Guidelines, techniques, and methods have been presented in the literature in recent years to contribute to the development of accessible software and to promote digital inclusion. Considering that software product quality depends on the quality of the development process, researchers have investigated how to include accessibility during the software development process in order to obtain accessible
-
A critical review on the evaluation of automated program repair systems J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-12 Kui Liu; Li Li; Anil Koyuncu; Dongsun Kim; Zhe Liu; Jacques Klein; Tegawendé F. Bissyandé
Automated Program Repair (APR) has attracted significant attention from software engineering research and practice communities in the last decade. Several teams have recorded promising performance in fixing real bugs and there is a race in the literature to fix as many bugs as possible from established benchmarks. Gradually, repair performance of APR tools in the literature has gone from being evaluated
-
Interdisciplinary effects of technical debt in companies with mechatronic products — a qualitative study J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-29 Birgit Vogel-Heuser; Fandi Bi
-
Assurance and certification of cyber–physical systems: The AMASS open source ecosystem J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-03 Jose Luis de la Vara; Alejandra Ruiz; Gaël Blondelle
Many cyber–physical systems (CPS) are subject to rigorous assurance and certification processes to provide confidence that undue risks are not posed and thus the systems are trustworthy. These processes are complex and time-consuming and tool support can greatly aid in their execution. In line with other trends for systems and software engineering, the need for and interest in open source tools for
-
Uncertainty-aware specification and analysis for hardware-in-the-loop testing of cyber-physical systems J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-03 Seung Yeob Shin; Karim Chaouch; Shiva Nejati; Mehrdad Sabetzadeh; Lionel C. Briand; Frank Zimmer
Hardware-in-the-loop (HiL) testing is important for developing cyber-physical systems (CPS). HiL test cases manipulate hardware, are time-consuming and their behaviors are impacted by the uncertainties in the CPS environment. To mitigate the risks associated with HiL testing, engineers have to ensure that (1) test cases are well-behaved, e.g., they do not damage hardware, and (2) test cases can execute
-
A systematic mapping study of developer social network research J. Syst. Softw. (IF 2.45) Pub Date : 2020-09-02 Steffen Herbold; Aynur Amirfallah; Fabian Trautsch; Jens Grabowski
Developer social networks (DSNs) are a tool for the analysis of community structures and collaborations between developers in software projects and software ecosystems. Within this paper, we present the results of a systematic mapping study on the use of DSNs in software engineering research. We identified 255 primary studies on DSNs. We mapped the primary studies to research directions, collected
-
Concepts of variation control systems J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-27 Lukas Linsbauer; Felix Schwägerl; Thorsten Berger; Paul Grünbacher
Version control systems are an integral part of today’s software engineering. They facilitate the collaborative management of revisions (sequential versions) and variants (concurrent versions) of software systems under development. Typical version control systems maintain revisions of files and variants of whole software systems. Variants are supported via branching or forking mechanisms that conceptually
-
An evolutionary approach for generating software models: The case of Kromaia in Game Software Engineering J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-27 Daniel Blasco; Jaime Font; Mar Zamorano; Carlos Cetina
In the context of Model-Driven Engineering applied to video games, software models are high-level abstractions that represent source code implementations of varied content such as the stages of the game, vehicles, or enemy entities (e.g., final bosses). In this work, we present our Evolutionary Model Generation (EMoGen) approach to generate software models that are comparable in quality to the models
-
Does code quality affect pull request acceptance? An empirical study J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-28 Valentina Lenarduzzi; Vili Nikkola; Nyyti Saarimäki; Davide Taibi
Background Pull requests are a common practice for making contributions and reviewing them in both open-source and industrial contexts. Objective Our goal is to understand whether quality flaws such as code smells, anti-patterns, security vulnerabilities, and coding style violations in a pull request’s code affect the chance of its acceptance when reviewed by a maintainer of the project. Method We
-
A systematic study of reward for reinforcement learning based continuous integration testing J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-22 Yang Yang; Zheng Li; Liuliu He; Ruilian Zhao
-
Generating summaries for methods of event-driven programs: An Android case study J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-25 Alireza Aghamohammadi; Maliheh Izadi; Abbas Heydarnoori
The lack of proper documentation makes program comprehension a cumbersome process for developers. Source code summarization is one of the existing solutions to this problem. Many approaches have been proposed to summarize source code in recent years. A prevalent weakness of these solutions is that they do not pay much attention to interactions among elements of software. An element is simply a callable
-
Continuous experimentation and the cyber–physical systems challenge: An overview of the literature and the industrial perspective J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-17 Federico Giaimo; Hugo Andrade; Christian Berger
Context: New software development patterns are emerging aiming at accelerating the process of delivering value. One is Continuous Experimentation, which allows to systematically deploy and run instrumented software variants during development phase in order to collect data from the field of application. While currently this practice is used on a daily basis on web-based systems, technical difficulties
-
Integrating UX work with agile development through user stories: An action research study in a small software company J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-21 Alisa Ananjeva; John Stouby Persson; Anders Bruun
The integration of user experience (UX) work with agile software development has been addressed in extensive research of challenges and process models. However, in-depth research of context-specific improvements of this integration with actual UX professionals and agile developers in their actual practice is limited. This study examines how the integration of UX work with agile development can be improved
-
A Large Scale Analysis of Android — Web Hybridization J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-18 Abhishek Tiwari; Jyoti Prakash; Sascha Groß; Christian Hammer
Many Android applications embed webpages via WebView components and execute JavaScript code within Android. Hybrid applications leverage dedicated APIs to load a resource and render it in a WebView. Furthermore, Android objects can be shared with the JavaScript world. However, bridging the interfaces of the Android and JavaScript world might also incur severe security threats: Potentially untrusted
-
Can this fault be detected: A study on fault detection via automated test generation J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-20 Ping Ma; Hangyuan Cheng; Jingxuan Zhang; Jifeng Xuan
Automated test generation can reduce the manual effort in improving software quality. A test generation method employs code coverage, such as the widely-used branch coverage, to guide the inference of tests. These tests can be used to detect hidden faults. An automatic tool takes a specific type of code coverage as a configurable parameter. Given an automated tool of test generation, a fault may be
-
A Systematic Mapping Study on Microservices Architecture in DevOps J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-22 Muhammad Waseem; Peng Liang; Mojtaba Shahin
Context: Applying Microservices Architecture (MSA) in DevOps has received significant attention in recent years. However, there exists no comprehensive review of the state of research on this topic. Objective: This work aims to systematically identify, analyze, and classify the literature on MSA in DevOps. Methods: A Systematic Mapping Study (SMS) has been conducted on the literature published between
-
Technical debt forecasting: An empirical study on open-source repositories J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-08 Dimitrios Tsoukalas; Dionysios Kehagias; Miltiadis Siavvas; Alexander Chatzigeorgiou
Technical debt (TD) is commonly used to indicate additional costs caused by quality compromises that can yield short-term benefits in the software development process, but may negatively affect the long-term quality of software products. Predicting the future value of TD could facilitate decision-making tasks regarding software maintenance and assist developers and project managers in taking proactive
-
TagDC: A tag recommendation method for software information sites with a combination of deep learning and collaborative filtering J. Syst. Softw. (IF 2.45) Pub Date : 2020-08-16 Can Li; Ling Xu; Meng Yan; Yan Lei
Software information sites (e.g., StackOverflow, Freecode, etc.) are increasingly essential for software developers to share knowledge, communicate new techniques, and collaborate. With the rapid growth of software objects, tags are widely applied to aid developers’ various operations on software information sites. Since tags are freely and optionally selected by developers, the differences in background
Contents have been reproduced by permission of the publishers.