1,720,983 research outputs found
On the testing resource allocation problem: Research trends and perspectives
In testing a software application, a primary concern is how to effectively plan the assignment of resources available for testing to the software components so as to achieve a target goal under given constraints. In the literature, this is known as testing resources allocation problem (TRAP). Researchers spent a lot of effort to propose models for supporting test engineers in this task, and a variety of solutions exist to assess the best trade-off between testing time, cost and quality of delivered products. This article presents a systematic mapping study aimed at systematically exploring the TRAP research area in order to provide an overview on the type of research performed and on results currently available. A sample of 68 selected studies has been classified and analyzed according to defined dimensions. Results give an overview of the state of the art, provide guidance to improve practicability and allow outlining a set of directions for future research and applications of TRAP solutions
An Evolutionary Strategy for Automatic Hypotheses Generation inspired by Abductive Reasoning
This paper proposes a new evolutionary strategy – called Evolutionary Abduction (EVA) - designed to target a class of problems called Combinatorial Causal Optimization Problems (CCOP). In a CCOP, the goal is to find combinations of causes that best explain or predict an effect of interest. EVA is inspired by abduction, a powerful form of causal inference employed in many artificial intelligence tasks. EVA defines a set of abductive operators to repeatedly construct hypothetical cause-effect instances, and then automatically assesses their plausibility as well as their novelty with respect to already known instances. Experiments confirm that, given a background knowledge, EVA can construct better hypotheses for a given effect, outperforming alternative strategies based on common metaheurstics previously used for CCOP
Automated Hypotheses Generation via Combinatorial Causal Optimization
A powerful form of causal inference employed in many tasks, such as medical diagnosis, criminology, root cause analysis, biology, is abduction. Given an effect, it aims at generating a plausible and useful set of explanatory hypotheses for its causes. This article formulates the abductive hypotheses generation activity as an optimization problem, introducing a new class called Combinatorial Causal Optimization Problems (CCOP). In a CCOP, solutions are in the form of cause-effect combinations: algorithms are required to construct hypothetical solutions automatically assessed for plausibility - a mechanism mimicking the human reasoning when he skims the best solutions from a set of hypotheses - and for novelty with respect to already known solutions. The paper presents the CCOP formulation and four real-world benchmark problems from various domains, released along with artefacts to implement, run and properly evaluate algorithms for CCOP solutions. Then, for illustrative purpose, four conventional evolutionary algorithms are customized to solve CCOPs. Their application demonstrates the possibility of generating useful solutions (i.e., novel and realistic hypotheses for a given effect), but also evidences a great margin for improvement in terms of ratio of good vs bad solutions
Component airbag
The increasing use of "commercial off-the-shelf" (COTS) components in safety critical scenarios, arises new issues related to the "dependable" use of third-party software in such contexts. The characteristics of these components, designed for a generic use, are such to make unpredictable the effects of their use whenever they are integrated in the entire system. The author's Ph.D project aim at proposing an approach to improve dependability of COTS based application, which consists of the following phases: i) each component is stimulated by proper workloads in order to learn the failure behavior; ii) from failure behaviors, the component failure model is defined; and iii) once the failure model is known for each component, the "component airbag" is thus created, i.e. a container able of exploiting the failure model in order to monitor and prevent the component from failing. An existent literature analysis, regarding the more used dependability assessment and improvement strategies, is also presented. © 2007 ACM
SAR Handbook Chapter: Measurements-based aging analysis
This paper summarizes the main methods adopted for the analysis and detection of software aging phenomena based on measurements (measurements-based aging analysis) as well as the metrics more commonly used as aging indicators
A comprehensive study on software aging across android versions and vendors
This paper analyzes the phenomenon of software aging – namely, the gradual performance degradation and resource exhaustion in the long run – in the Android OS. The study intends to highlight if, and to what extent, devices from different vendors, under various usage conditions and configurations, are affected by software aging and which parts of the system are the main contributors. The results demonstrate that software aging systematically determines a gradual loss of responsiveness perceived by the user, and an unjustified depletion of physical memory. The analysis reveals differences in the aging trends due to the workload factors and to the type of running applications, as well as differences due to vendors’ customization. Moreover, we analyze several system-level metrics to trace back the software aging effects to their main causes. We show that bloated Java containers are a significant contributor to software aging, and that it is feasible to mitigate aging through a micro-rejuvenation solution at the container level
A Comparative Analysis of Software Aging in Image Classifiers on Cloud and Edge
Image classifiers for recognizing real-world objects are widely used in the Internet of Things (IoT) and Cyber-Physical Systems(CPSs). A classifier is trained offline by machine learning algorithms with training data sets, and then it is deployed on a cloud or an edge computing system for online label predictions. As the classifier's performance depends on the underlying software infrastructure, it may degrade over time due to software faults causing software aging. In this paper, we address this issue and experimentally investigate software aging observed in an image classification system that continuously runs on cloud and edge computing environments. We apply several statistical techniques to analyze degradation trends in the systems under stress tests. Our statistical trend analysis confirms the degradation trends in the throughput as well as the available memory resources both in the cloud and the edge environments. Contrary to our expectation, the edge computing environment under test had much less impact on the performance degradation than our cloud environment when the workload is high, although the latter one has four times larger allocated memory resources. We also show that the observed performance degradation trends are associated with the memory usage of specific processes by performing correlation analysis
An Empirical Evaluation of the Energy and Performance Overhead of Monitoring Tools on Docker-Based Systems
Context. Energy efficiency is gaining importance in the design of software systems, but is still marginally addressed in the area of microservice-based systems. Energy-related aspects often get neglected in favor of other software quality attributes, such as performance, service composition, maintainability, and security. Goal. The aim of this study is to identify, synthesize and empirically evaluate the energy and performance overhead of monitoring tools employed in the microservices and DevOps context. Method. We selected four representative monitoring tools in the microservices and DevOps context. These were evaluated via a controlled experiment on an open-source Docker-based microservice benchmark system. Results. The results highlight: i) the specific frequency and workload conditions under which energy consumption and performance metrics are impacted by the tools; ii) the differences between the tools; iii) the relation between energy and performance overhead
- …
