-
Exposing bugs in JavaScript engines through test transplantation and differential testing Software Qual. J. (IF 1.46) Pub Date : 2021-01-07 Igor Lima, Jefferson Silva, Breno Miranda, Gustavo Pinto, Marcelo d’Amorim
JavaScript is a popular programming language today with several implementations competing for market dominance. Although a specification document and a conformance test suite exist to guide engine development, bugs occur and have important practical consequences. Implementing correct engines is challenging because the spec is intentionally incomplete and evolves frequently. This paper investigates
-
Does maintainability relate to the energy consumption of software? A case study Software Qual. J. (IF 1.46) Pub Date : 2021-01-06 Javier Mancebo, Coral Calero, Félix García
Energy consumption of software has been becoming increasingly significant, since it can vary according to how the software has been developed. In recent years, developers and researchers have been interested in analyzing, among other things, how energy consumption evolves when changes occur from one version to another in any given software. Thus far, the only studies available are theoretical papers
-
Test-driven development with mutation testing – an experimental study Software Qual. J. (IF 1.46) Pub Date : 2020-11-18 Adam Roman, Michal Mnich
Test-driven development (TDD) is a popular design approach used by the developers with testing being the important software development driving factor. On the other hand, mutation testing is considered one of the most effective testing techniques. However, there is not so much research on combining these two techniques together. In this paper, we propose a novel, hybrid approach called TDD+M which
-
Challenges concerning test case specifications in automotive software testing: assessment of frequency and criticality Software Qual. J. (IF 1.46) Pub Date : 2020-11-18 Katharina Juhnke, Matthias Tichy, Frank Houdek
Automotive test case specifications document test cases to be performed for a specific test object at a defined test level. They are a fundamental part of a structured automotive testing process, as required by the ISO 26262. The aim of our research is to identify challenges from a practitioner’s point of view that lead to poor quality of test case specifications and thus negatively impact time, cost
-
Integration testing for robotic systems Software Qual. J. (IF 1.46) Pub Date : 2020-11-18 Maria A. S. Brito, Simone R. S. Souza, Paulo S. L. Souza
Conventional approaches for the validation of robotic systems include simulations and functional software testing. Although these approaches are interesting, they do not offer coverage information to guide the testing activity. In this sense, the introduction of coverage testing to the validation of mobile robotic systems seems to promise. This paper proposes a integration testing approach for robotic
-
Evaluation of alternative design choices for evolutionary mutation testing by means of automated configuration Software Qual. J. (IF 1.46) Pub Date : 2020-11-06 Pedro Delgado-Pérez, Francisco Chicano
Mutation testing is a well-established but costly technique to assess and improve the fault detection ability of test suites. This technique consists of introducing subtle changes in the code of a program, which are expected to be detected by the designed test cases. Among the strategies conceived to reduce its cost, evolutionary mutation testing (EMT) has been revealed as a promising approach to select
-
What lies behind requirements? A quality assessment of statement grounds in requirements elicitation Software Qual. J. (IF 1.46) Pub Date : 2020-09-05 Corentin Burnay, Sarah Bouraga, Joseph Gillain, Ivan J. Jureta
In requirements engineering (RE), an early yet critical activity consists in eliciting the requirements from various stakeholders, who usually have different assumptions, knowledge, and intentions. The goal during elicitation is to understand what stakeholders expect from a given software, expectations which then feed the analysis, prioritization, validation, and ultimately specification activities
-
Classification of application reviews into software maintenance tasks using data mining techniques Software Qual. J. (IF 1.46) Pub Date : 2020-08-28 Assem Al-Hawari, Hassan Najadat, Raed Shatnawi
Mobile application reviews are considered a rich source of information for software engineers to provide a general understanding of user requirements and technical feedback to avoid main programming issues. Previous researches have used traditional data mining techniques to classify user reviews into several software maintenance tasks. In this paper, we aim to use associative classification (AC) algorithms
-
HSACMA: a hierarchical scalable adaptive cloud monitoring architecture Software Qual. J. (IF 1.46) Pub Date : 2020-08-24 Rui Wang; Shi Ying; Meiyan Li; Shun Jia
Monitoring for cloud is the key technology to know the status and the availability of the resources and services present in the current infrastructure. However, cloud monitoring faces a lot of challenges due to inefficient monitoring capability and enormous resource consumption. We study the adaptive monitoring for cloud computing platform, and focus on the problem of balancing monitoring capability
-
Specification and use of concern metrics for supporting modularity-oriented modernizations Software Qual. J. (IF 1.46) Pub Date : 2020-08-19 Daniel San Martín; Guisella Angulo; Bruno Marinho; Raphael Honda; Valter Camargo
Bad modularized concerns are a known deficiency of legacy systems, making their maintenance increasingly harder and expensive. An alternative is to conduct a modularity-oriented modernization (MOM), whose goal is to restructure concerns for making them more modular. Architecture-driven modernization (ADM) is a model-based alternative for that—it is a kind of reengineering that employs standard metamodels
-
A classification and systematic review of product line feature model defects Software Qual. J. (IF 1.46) Pub Date : 2020-08-11 Megha Bhushan, Arun Negi, Piyush Samant, Shivani Goel, Ajay Kumar
Product line (PL)-based development is a thriving research area to develop software-intensive systems. Feature models (FMs) facilitate derivation of valid products from a PL by managing commonalities and variabilities among software products. However, the researchers in academia as well as in the industries experience difficulties in quality assessment of FMs. The increasing complexity and size of
-
An empirical study on predictability of software maintainability using imbalanced data Software Qual. J. (IF 1.46) Pub Date : 2020-08-05 Ruchika Malhotra, Kusum Lata
In software engineering predictive modeling, early prediction of software modules or classes that possess high maintainability effort is a challenging task. Many prediction models are constructed to predict the maintainability of software classes or modules by applying various machine learning (ML) techniques. If the software modules or classes need high maintainability, effort would be reduced in
-
Predicting technical debt from commit contents: reproduction and extension with automated feature selection Software Qual. J. (IF 1.46) Pub Date : 2020-07-04 Leevi Rantala, Mika Mäntylä
Self-admitted technical debt refers to sub-optimal development solutions that are expressed in written code comments or commits. We reproduce and improve on a prior work by Yan et al. (2018) on detecting commits that introduce self-admitted technical debt. We use multiple natural language processing methods: Bag-of-Words, topic modeling, and word embedding vectors. We study 5 open-source projects.
-
An adaptive system for autonomous driving Software Qual. J. (IF 1.46) Pub Date : 2020-07-04 Martin Zimmermann; Franz Wotawa
Having systems that can adapt themselves in case of faults or changing environmental conditions is of growing interest for industry and especially for the automotive industry considering autonomous driving. In autonomous driving, it is vital to have a system that is able to cope with faults in order to enable the system to reach a safe state. In this paper, we present an adaptive control method that
-
Verifying temporal specifications of Java programs Software Qual. J. (IF 1.46) Pub Date : 2020-07-02 Francesco Spegni; Luca Spalazzi; Giovanni Liva; Martin Pinzger; Andreas Bollin
Many Java programs encode temporal behaviors in their source code, typically mixing three features provided by the Java language: (1) pausing the execution for a limited amount of time, (2) waiting for an event that has to occur before a deadline expires, and (3) comparing timestamps. In this work, we show how to exploit modern SMT solvers together with static analysis in order to produce a network
-
Verification supported refactoring of embedded sql Software Qual. J. (IF 1.46) Pub Date : 2020-06-18 Mirko Spasić, Milena Vujošević Janičić
Improving code quality without changing its functionality, e.g., by refactoring or optimization, is an everyday programming activity. Good programming practice requires that each such change should be followed by a check if the change really preserves the code behavior. If such a check is performed by testing, it can be time consuming and still cannot guarantee the absence of differences in behavior
-
Measuring data credibility and medical coding: a case study using a nationwide Portuguese inpatient database Software Qual. J. (IF 1.46) Pub Date : 2020-06-12 Julio Souza; Diana Pimenta; Ismael Caballero; Alberto Freitas
Some countries have adopted the diagnosis-related groups (DRG) system to pay hospitals according to the number and complexity of patients they treat. Translating diseases and procedures into medical codes based on international standards such as ICD-9-CM or ICD-10-CM/PCS is at the core of the DRG systems. However, certain types of coding errors undermine this system, namely, upcoding, in which data
-
Two experiments for evaluating the impact of Hamcrest and AssertJ on assertion development Software Qual. J. (IF 1.46) Pub Date : 2020-06-03 Maurizio Leotta; Maura Cerioli; Dario Olianas; Filippo Ricca
Test automation enables continuous testing, a cornerstone of agile methods, and DevOps. Assertions play a fundamental role in test automation, and recently competing assertion libraries for unit testing frameworks, such as, for example, JUnit or TestNG, emerged. Thus, it is imperative to gauge assertion libraries in terms of developer/tester productivity, allowing SQA managers and software testers
-
A public unified bug dataset for java and its assessment regarding metrics and bug prediction Software Qual. J. (IF 1.46) Pub Date : 2020-06-03 Rudolf Ferenc, Zoltán Tóth, Gergely Ladányi, István Siket, Tibor Gyimóthy
Bug datasets have been created and used by many researchers to build and validate novel bug prediction models. In this work, our aim is to collect existing public source code metric-based bug datasets and unify their contents. Furthermore, we wish to assess the plethora of collected metrics and the capabilities of the unified bug dataset in bug prediction. We considered 5 public datasets and we downloaded
-
Towards supporting software assurance assessments by detecting security patterns Software Qual. J. (IF 1.46) Pub Date : 2020-05-05 Michaela Bunke, Karsten Sohr
Today, many tools exist that attempt to find possible vulnerabilities in Android applications, e.g., FlowDroid, Fortify, or AppScan. However, all these tools aim to detect vulnerabilities or (sometimes) tainted flows and present the reviewer detected possible issues of an analyzed Android application. None of these tools supports the identification of implemented security features in code, although
-
Test case generation based on mutations over user execution traces Software Qual. J. (IF 1.46) Pub Date : 2020-05-01 Ana C. R. Paiva; André Restivo; Sérgio Almeida
Automatic test case generation is usually based on models of the software under test. However, those models may not exist or may be outdated and so, the test case generation must resort to other artifacts. In a software maintenance context, test cases must adapt to software changes and should be improved continuously to test adequately the new versions of the software. Mutation testing is a fault-based
-
Assessing data cybersecurity using ISO/IEC 25012 Software Qual. J. (IF 1.46) Pub Date : 2020-04-27 Javier Verdugo; Moisés Rodríguez
Data is of ever-growing importance and is widely considered to be a company’s most valuable asset. Since data is becoming the main driver of business value, data quality and, specifically, data security are of paramount importance to companies. Various regulations related to data cybersecurity have been drawn up, such as the GDPR and the Cybersecurity Act, thus proving the importance placed on data
-
Application of machine learning techniques to the flexible assessment and improvement of requirements quality Software Qual. J. (IF 1.46) Pub Date : 2020-04-27 Valentín Moreno, Gonzalo Génova, Eugenio Parra, Anabel Fraga
It is already common to compute quantitative metrics of requirements to assess their quality. However, the risk is to build assessment methods and tools that are both arbitrary and rigid in the parameterization and combination of metrics. Specifically, we show that a linear combination of metrics is insufficient to adequately compute a global measure of quality. In this work, we propose to develop
-
QoS monitor as a service Software Qual. J. (IF 1.46) Pub Date : 2020-04-18 Taycir Bouasker; Mahjoub Langar; Riadh Robbana
Quality of web service becomes more and more interesting as a distinguishing criterion to select a unique web service from all candidate ones. The quality assessment issue, especially regarding the volatility of the web services environment, is one among the main challenges in this context. In this paper, we propose a service-based system for web services monitoring. Compared with other efforts in
-
Runtime verification of real-time event streams under non-synchronized arrival Software Qual. J. (IF 1.46) Pub Date : 2020-04-18 Martin Leucker; César Sánchez; Torben Scheffel; Malte Schmitz; Alexander Schramm
We study the problem of online runtime verification of real-time event streams. Our monitors can observe concurrent systems with a shared clock, but where each component reports observations as signals that arrive to the monitor at different speeds and with different and varying latencies. We start from specifications in a fragment of the TeSSLa specification language, where streams (including inputs
-
XACMET: XACML Testing & Modeling Software Qual. J. (IF 1.46) Pub Date : 2020-04-16 Said Daoudagh; Francesca Lonetti; Eda Marchetti
In the context of access control systems, testing activity is among the most adopted means to assure that sensible information or resources are correctly accessed. In XACML-based access control systems, incoming access requests are transmitted to the policy decision point (PDP) that grants or denies the access based on the defined XACML policies. The criticality of a PDP component requires an intensive
-
Code smell detection using multi-label classification approach Software Qual. J. (IF 1.46) Pub Date : 2020-04-04 Thirupathi Guggulothu; Salman Abdul Moiz
Code smells are characteristics of the software that indicates a code or design problem which can make software hard to understand, evolve, and maintain. There are several code smell detection tools proposed in the literature, but they produce different results. This is because smells are informally defined or subjective in nature. Machine learning techniques help in addressing the issues of subjectivity
-
Increasing validity through replication: an illustrative TDD case Software Qual. J. (IF 1.46) Pub Date : 2020-03-26 Adrian Santos; Sira Vegas; Fernando Uyaguari; Oscar Dieste; Burak Turhan; Natalia Juristo
Software engineering (SE) experiments suffer from threats to validity that may impact their results. Replication allows researchers building on top of previous experiments’ weaknesses and increasing the reliability of the findings. Illustrating the benefits of replication to increase the reliability of the findings and uncover moderator variables. We replicate an experiment on test-driven development
-
Data-driven and tool-supported elicitation of quality requirements in agile companies Software Qual. J. (IF 1.46) Pub Date : 2020-03-17 Marc Oriol; Silverio Martínez-Fernández; Woubshet Behutiye; Carles Farré; Rafał Kozik; Pertti Seppänen; Anna Maria Vollmer; Pilar Rodríguez; Xavier Franch; Sanja Aaramaa; Antonin Abhervé; Michał Choraś; Jari Partanen
Quality requirements (QRs) are a key artifact needed to ensure the quality and success of a software system. Despite their importance, QRs rarely get the same degree of attention as their functional counterpart in agile software development (ASD) projects. Moreover, crucial information that can be obtained from software development repositories (e.g., JIRA, GitHub) is not fully exploited, or is even
-
A preliminary analysis of self-adaptive systems according to different issues Software Qual. J. (IF 1.46) Pub Date : 2020-03-13 Claudia Raibulet; Francesca Arcelli Fontana; Simone Carettoni
Self-adaptive systems dynamically change their structure and behavior in response to changes in their execution environment to ensure the quality of the services they provide. Self-adaptive systems are usually built of a managed part, which implements their functionality, and a managing part, which implements the self-adaptive mechanisms. Hence, the complexity of self-adaptive systems results also
-
Planning-based security testing of web applications with attack grammars Software Qual. J. (IF 1.46) Pub Date : 2020-03-09 Josip Bozic; Franz Wotawa
Web applications are deployed on machines around the globe and offer almost universal accessibility. These applications assure functional interconnectivity between different components on a 24/7 basis. One of the most important requirements is data confidentiality and secure authentication. However, implementation flaws and unfulfilled requirements often result in security leaks that malicious users
-
Using the IDEAL model for the construction of a deployment framework of IT Service Desks at the Brazilian Federal Institutes of Education Software Qual. J. (IF 1.46) Pub Date : 2020-03-07 Cristiano Domingues da Silva; Alexandre Marcos Lins de Vasconcelos
Brazilian Federal Institutes of Education, Science and Technology (FIs) have expanded through multicampi structure, which has led to profound changes in their administrative and academic organization. As consequence of this expansion, the demand for services, systems, and information technology (IT) solutions has increased; and the support service’s provision has become much more relevant. However
-
Availability and reliability modeling of VM migration as rejuvenation on a system under varying workload Software Qual. J. (IF 1.46) Pub Date : 2020-03-04 Matheus Torquato; Paulo Maciel; Marco Vieira
Cloud computing serves as a platform for diverse types of applications, from low-priority to critical. Some of these applications require high levels of system availability and reliability. Developing methods for cloud computing availability and reliability evaluation is of utmost importance. In this paper, we propose a set of models for availability and reliability evaluation of a virtualized system
-
RETORCH: an approach for resource-aware orchestration of end-to-end test cases Software Qual. J. (IF 1.46) Pub Date : 2020-03-02 Cristian Augusto; Jesús Morán; Antonia Bertolino; Claudio de la Riva; Javier Tuya
Continuous integration practice mandates to continuously introduce incremental changes into code, but doing so may introduce new faults too. These faults could be detected automatically through regression testing, but this practice becomes prohibitive as the cost of executing the tests grows. This problem is preponderant in end-to-end testing where the whole system is requested for test execution.
-
Integrating security and privacy in software development Software Qual. J. (IF 1.46) Pub Date : 2020-02-28 Maria Teresa Baldassarre; Vita Santa Barletta; Danilo Caivano; Michele Scalera
As a consequence to factors such as progress made by the attackers, release of new technologies and use of increasingly complex systems, and threats to applications security have been continuously evolving. Security of code and privacy of data must be implemented in both design and programming practice to face such scenarios. In such a context, this paper proposes a software development approach, Privacy
-
An automated approach to assess the similarity of GitHub repositories Software Qual. J. (IF 1.46) Pub Date : 2020-02-15 Phuong T. Nguyen; Juri Di Rocco; Riccardo Rubei; Davide Di Ruscio
Open source software (OSS) allows developers to study, change, and improve the code free of charge. There are several high-quality software projects which deliver stable and well-documented products. Most OSS forges typically sustain active user and expert communities which in turn provide decent levels of support both with respect to answering user questions as well as to repairing reported software
-
Testing adaptation policies for software components Software Qual. J. (IF 1.46) Pub Date : 2020-01-23 Frédéric Dadeau; Jean-Philippe Gros; Olga Kouchnarenko
Self-adaptive systems have to implement adaptation policies described by sets of rules that express how the components are reconfigured within the system, the priority of a given reconfiguration to happen, when a given (sequence of) event(s) occurs, and when specific conditions on the system state are satisfied. However, when this priority is given by a fuzzy value (e.g., high, medium, low) depending
-
Towards a software quality certification of master data-based applications Software Qual. J. (IF 1.46) Pub Date : 2020-01-20 Fernando Gualo; Ismael Caballero; Moisés Rodriguez
Master data management (MDM) can provide an integrated and unified view of key business entities to offer better support in business processes. Due to the very nature of master data-based applications, it is possible to use data with the highest possible level of quality. MDM can help ensure that some common concerns, like duplicates or inconsistencies, are prevented by sharing a ‘single version of
-
A model-driven engineering approach for supporting questionnaire-based gap analysis processes through application lifecycle management systems Software Qual. J. (IF 1.46) Pub Date : 2020-01-17 Domenico Amalfitano; Vincenzo De Simone; Stefano Scala; Anna Rita Fasolino
Gap analysis is a common approach in industry to evaluate the gaps between the implemented software processes and the requirements of process quality frameworks or standard norms. Gap analysis processes are usually executed by means of questionnaires that need to be crafted ad hoc according to specific appraisal goals. The approaches used for developing, compiling and evaluating the answers given to
-
Scen@rist: an approach for verifying self-adaptive systems using runtime scenarios Software Qual. J. (IF 1.46) Pub Date : 2020-01-16 Rômulo Gadelha; Lucas Vieira; Davi Monteiro; Felipe Vidal; Paulo Henrique Maia
Traditional runtime quantitative verification approaches for self-adaptive systems usually rely on the use of state-transition models to describe the system behaviour and check property violation at runtime. More recently, some approaches have advocated the use of scenarios as a strategy for representing both the normal and adaptive system behaviour. However, the use of scenarios as a runtime entity
-
Invalid bug reports complicate the software aging situation Software Qual. J. (IF 1.46) Pub Date : 2020-01-13 Xiaoxue Wu; Wei Zheng; Minchao Pu; Jie Chen; Dejun Mu
Symptoms of software aging include performance degradation and failure occurrence increasing when software systems run for a period of time. Therefore, software aging is closely related to system performance. Understanding and analyzing performance issues in the software system is critical to mastering software aging information. Instead of focusing on normal valid bug reports (VBRs), this paper advocates
-
The effect of Bellwether analysis on software vulnerability severity prediction models Software Qual. J. (IF 1.46) Pub Date : 2020-01-07 Patrick Kwaku Kudjo, Jinfu Chen, Solomon Mensah, Richard Amankwah, Christopher Kudjo
Vulnerability severity prediction (VSP) models provide useful insight for vulnerability prioritization and software maintenance. Previous studies have proposed a variety of machine learning algorithms as an important paradigm for VSP. However, to the best of our knowledge, there are no other existing research studies focusing on investigating how a subset of features can be used to improve VSP. To
-
Model generation of component-based systems Software Qual. J. (IF 1.46) Pub Date : 2020-01-02 Sébastien Salva; Elliott Blot
This paper presents COnfECt, a model learning approach, which aims at recovering the functioning of a component-based system from its execution traces. We refer here to non concurrent systems whose internal interactions among components are not observable from the environment. COnfECt is specialised into the detection of components of a black-box system and in the inference of models called systems
-
Characteristics that affect preference of decision models for asset selection: an industrial questionnaire survey Software Qual. J. (IF 1.46) Pub Date : 2019-12-28 Emil Alégroth, Tony Gorschek, Kai Petersen, Michael Mattsson
Modern software development relies on a combination of development and re-use of technical asset, e.g., software components, libraries, and APIs. In the past, re-use was mostly conducted with internal assets but today external; open source, customer off-the-shelf (COTS), and assets developed through outsourcing are also common. This access to more asset alternatives presents new challenges regarding
-
Time-aware selection approach for service composition based on pruning and improvement techniques Software Qual. J. (IF 1.46) Pub Date : 2019-12-28 Ikbel Guidara; Nawal Guermouche; Tarak Chaari; Mohamed Jmaiel
In service-oriented environments, abstract business processes can be implemented by concrete services to build complex applications. Given global user constraints, service selection allows to identify the best combination of services with respect to the business constraints. Generally, the selection problem is challenging, but it is particularly complex when dealing with QoS (quality of service) values
-
On the performance of software rejuvenation models with multiple degradation levels Software Qual. J. (IF 1.46) Pub Date : 2019-12-21 V. P. Koutras; A. N. Platis
Continuously running software systems suffer from performance degradation due to aging phenomena and resource exhaustion that are mainly due to error conditions accumulation or due to exhaustion of system resources such as the physical memory. To counteract such phenomena, a periodic preemptive rollback to prevent software failures in the future, called software rejuvenation, can be applied. During
-
Mining Association Rules from Code (MARC) to support legacy software management Software Qual. J. (IF 1.46) Pub Date : 2019-12-19 Christos Tjortjis
This paper presents a methodology for Mining Association Rules from Code (MARC), aiming at capturing program structure, facilitating system understanding and supporting software management. MARC groups program entities (paragraphs or statements) based on similarities, such as variable use, data types and procedure calls. It comprises three stages: code parsing/analysis, association rule mining and
-
Sentinel : generating GUI tests for sensor leaks in Android and Android wear apps Software Qual. J. (IF 1.46) Pub Date : 2019-12-12 Haowei Wu; Hailong Zhang; Yan Wang; Atanas Rountev
Due to the widespread use of Android devices and apps, it is important to develop tools and techniques to improve app quality and performance. Our work focuses on a problem related to hardware sensors on Android devices: the failure to disable unneeded sensors, which leads to sensor leaks and thus battery drain. We propose the Sentinel testing tool to uncover such leaks. The tool performs static analysis
-
Quality attribute trade-offs in the embedded systems industry: an exploratory case study Software Qual. J. (IF 1.46) Pub Date : 2019-12-04 Darius Sas; Paris Avgeriou
The embedded systems domain has grown exponentially over the past years. The industry is forced by the market to rapidly improve and release new products to beat the competition. Frenetic development rhythms thus shape this domain and give rise to several new challenges for software design and development. One of them is dealing with trade-offs between run-time and design-time quality attributes. To
-
Automatic software refactoring: a systematic literature review Software Qual. J. (IF 1.46) Pub Date : 2019-12-03 Abdulrahman Ahmed Bobakr Baqais; Mohammad Alshayeb
Refactoring a software artifact is an embedded task in the maintenance phase of the software life cycle. To reduce the time and effort required for this task, researchers proposed methods to automate the software refactoring process at the design and code levels. In this paper, we conducted a systematic literature review of papers that suggest, propose, or implement an automated refactoring process
-
What are the characteristics of popular APIs? A large-scale study on Java, Android, and 165 libraries Software Qual. J. (IF 1.46) Pub Date : 2019-11-29 Caroline Lima; Andre Hora
Software systems are commonly implemented with the support of libraries, which provide features via APIs. Ideally, APIs should have some characteristics, for example, they should be well documented and stable so that client systems can confidently rely on them. However, not all APIs are equal in number of clients: while some APIs are very popular and used worldwide, other may face much lower usage
-
Software aging and rejuvenation in android: new models and metrics Software Qual. J. (IF 1.46) Pub Date : 2019-11-22 Jianwen Xiang; Caisheng Weng; Dongdong Zhao; Artur Andrzejak; Shengwu Xiong; Lin Li; Jing Tian
Android users are occasionally troubled by the slow UI responses and sudden application/OS crashes. These problems are mainly caused by software aging, a phenomenon of progressive degradation of performance and dependability typically observed in long-running software systems. A countermeasure to software aging is software rejuvenation, i.e., manual or scheduled restart at different levels, such as
-
Improving dynamic domain reduction test data generation method by Euler/Venn reasoning system Software Qual. J. (IF 1.46) Pub Date : 2019-11-22 Esmaeel Nikravan; Saeed Parsa
Test data adequacy is a major challenge in software testing literature. The difficulty is to provide sufficient test data to assure the correctness of the program under test. Especially, in the case of latent faults, the fault does not reveal itself unless specific combinations of input values are used to run the program. In this respect, detection of subdomains of the input domain that cover a specific
-
An empirical study of factors affecting cross-project aging-related bug prediction with TLAP Software Qual. J. (IF 1.46) Pub Date : 2019-10-16 Fangyun Qin; Xiaohui Wan; Beibei Yin
Software aging is a phenomenon in which long-running software systems show an increasing failure rate and/or progressive performance degradation. Due to their nature, Aging-Related Bugs (ARBs) are hard to discover during software testing and are also challenging to reproduce. Therefore, automatically predicting ARBs before software release can help developers reduce ARB impact or avoid ARBs. Many bug
-
Anti-aging analysis for software reliability design modes in the context of single-event effect Software Qual. J. (IF 1.46) Pub Date : 2019-10-14 Qi Shao; Xiaodong Gou; Tingting Huang; Shunkun Yang
Software aging is a risk associated with the continuous operation of software, and it is essential and meaningful to develop anti-aging technology to offset or mitigate the aging phenomenon. While considerable attention has been devoted to software aging and anti-aging techniques, few studies have focused on single-event effect as a software-aging reason in the context of a space environment. In this
-
Virtualization of stateful services via machine learning Software Qual. J. (IF 1.46) Pub Date : 2019-10-03 Hasan Ferit Enişer; Alper Sen
Today’s enterprise software systems are much more complicated than the past. Increasing numbers of dependent applications, heterogeneous technologies, and wide usage of Service-Oriented Architectures (SOA), where numerous services communicate with each other, makes testing of such systems challenging. For testing these software systems, the concept of service virtualization is gaining popularity. Service
-
Cross-project bug type prediction based on transfer learning Software Qual. J. (IF 1.46) Pub Date : 2019-09-16 Xiaoting Du; Zenghui Zhou; Beibei Yin; Guanping Xiao
The prediction of bug types provides useful insights into the software maintenance process. It can improve the efficiency of software testing and help developers adopt corresponding strategies to fix bugs before releasing software projects. Typically, the prediction tasks are performed through machine learning classifiers, which rely heavily on labeled data. However, for a software project that has
-
Enhanced regression testing technique for agile software development and continuous integration strategies Software Qual. J. (IF 1.46) Pub Date : 2019-09-13 Sadia Ali; Yaser Hafeez; Shariq Hussain; Shunkun Yang
To survive in competitive marketplaces, most organizations have adopted agile methodologies to facilitate continuous integration and faster application delivery and rely on regression testing during application development to validate the quality and reliability of the software after changes have been made. Consequently, for large projects with cost and time constraints, it is extremely difficult to
-
A systematic mapping study on best practices for domain-specific modeling Software Qual. J. (IF 1.46) Pub Date : 2019-09-10 Gerald Czech; Michael Moser; Josef Pichler
Model-driven software development comes in different styles. While standard-based approaches leverage existing language standards (e.g., UML), tooling, and development processes, domain-specific modeling (DSM) requires languages and tool support to be created prior to the actual software development. The design, implementation, and testing of languages and tool support require a wide spectrum of methods
-
Component attributes and their importance in decisions and component selection Software Qual. J. (IF 1.46) Pub Date : 2019-09-07 Panagiota Chatzipetrou; Efi Papatheocharous; Krzysztof Wnuk; Markus Borg; Emil Alégroth; Tony Gorschek
Component-based software engineering is a common approach in the development and evolution of contemporary software systems. Different component sourcing options are available, such as: (1) Software developed internally (in-house), (2) Software developed outsourced, (3) Commercial off-the-shelf software, and (4) Open-Source Software. However, there is little available research on what attributes of
Contents have been reproduced by permission of the publishers.