356 result(s)
Page Size: 10, 20, 50
Export: bibtex, xml, json, csv
Order by:

CNR Author operator: and / or
more
Typology operator: and / or
Language operator: and / or
Date operator: and / or
more
Rights operator: and / or
2024 Journal article Open Access OPEN
Self-adaptive testing in the field
Silva S, Pelliccione P, Bertolino A
We are increasingly surrounded by systems connecting us with the digital world and facilitating our life by supporting our work, leisure, activities at home, health, etc. These systems are pressed by two forces. On the one side, they operate in environments that are increasingly challenging due to uncertainty and uncontrollability. On the other side, they need to evolve, often in a continuous fashion, to meet changing needs, to ofer new functionalities, or also to fix emerging failures. To make the picture even more complex, these systems rarely work in isolation and often need to collaborate with other systems, as well as humans. All such facets call for moving their validation during operation, as offered by approaches called testing in the field.In this paper, we observe that even the field-based testing approaches should change over time to follow and adapt to the changes and evolution of collaborating systems or environments or users' behaviors. We provide a taxonomy of this new category of testing that we call self-adaptive testing in the ield (SATF), together with a reference architecture for SATF approaches. To achieve this objective, we surveyed the literature and collected feedback and contributions from experts in thedomain via a questionnaire and interviews.Source: ACM TRANSACTIONS ON AUTONOMOUS AND ADAPTIVE SYSTEMS (ONLINE), vol. 19 (issue 1), pp. 1-37
DOI: 10.1145/3627163
Metrics:


See at: dl.acm.org Open Access | CNR IRIS Open Access | ACM Transactions on Autonomous and Adaptive Systems Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2024 Journal article Open Access OPEN
Flakiness goes live: insights from an In Vivo testing simulation study
Barboni M, Bertolino A, De Angelis G
Context: Test flakiness is a topmost concern in software test automation. While conducting pre-deployment testing, those tests that are flagged as flaky are put aside for being either repaired or discarded.Objective: We hypothesise that some flaky tests could provide useful insights if run in the field, i.e., they could help identify failures that manifest themselves sporadically during In House testing, but are later experienced in operation.Method: We present the first simulation study to investigate the behaviour of flaky tests when moved to the field. The work compares the behaviour of known flaky tests from an open-source library when executed in the development environment vs. when executed in a simulation of the field.Results: Our experimentation over 52 test methods labelled as flaky provides a first confirmation that moving from the development environment to the field, the behaviour of tests changes. In particular, the failure frequency of intermittently failing tests can increase, and we could also identify few cases of field failures that would have been hardly detected during In House testing due to the numerous combinations of inputs and states. In most cases, such flakiness was rooted in the design of the test method itself, however we could also identify an actual bug.Conclusion: The results of our study suggest that the identification of an intermittently failing behaviour could be a valuable hint for a test engineer, and hence flaky tests should not be dismissed right away.Source: INFORMATION AND SOFTWARE TECHNOLOGY, vol. 167
DOI: 10.1016/j.infsof.2023.107373
Project(s): Solutions for Engineering Microservice Architectures
Metrics:


See at: CNR IRIS Open Access | www.sciencedirect.com Open Access | CNR IRIS Restricted


2024 Journal article Open Access OPEN
Automatic debugging of design faults in MapReduce applications
Morán J., Bertolino A., De La Riva C., Tuya J.
Among the current technologies to analyse large data, the MapReduce processing model stands out in Big Data. MapReduce is implemented in frameworks such as Hadoop, Spark or Flink that are able to manage the program executions according to the resources available at runtime. The developer should design the program in order to support all possible non-deterministic executions. However, the program may fail due to a design fault. Debugging these kinds of faults is difficult because the data are executed non-deterministically in parallel and the fault is not caused directly by the code, but by its design. This paper presents a framework called MRDebug which includes two debugging techniques focused on the MapReduce design faults. A spectrum- based fault localization technique locates the root cause of these faults analysing several executions of the test case, and a Delta Debugging technique isolates the data relevant to trigger the failure. An empirical evaluation with 13 programs shows that MRDebug is effective in debugging the faults, especially when the localization is done with the reduced data. In summary, MRDebug automatically provides valuable information to understand MapReduce design faults as it helps locate their root cause and obtains a minimal data that triggers the failure.Source: IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, vol. 50 (issue 4), pp. 956-978
DOI: 10.1109/tse.2024.3369766
Project(s): Progetto Integrato Cyber Security dei sistemi energetici
Metrics:


See at: IEEE Transactions on Software Engineering Open Access | IRIS Cnr Open Access | IRIS Cnr Open Access | Repositorio Institucional de la Universidad de Oviedo Restricted | CNR IRIS Restricted


2024 Journal article Open Access OPEN
RETORCH*: a cost and resource aware model for E2E testing in the cloud
Augusto C., Morán J., Bertolino A., De La Riva C., Tuya J.
Moving testing to the Cloud overcomes time/resource constraints by leveraging an unlimited and elastic infrastructure, especially for testing levels like End-to-End (E2E) that require a high number of resources and/or execution time. However, it introduces new challenges to those already faced on-premises, like selecting the most suitable Cloud infrastructure and billing scheme. We propose the RETORCH* test execution model that estimates and compares the monetary cost of executing an E2E test suite with different Cloud alternatives, billing schemes, and test configurations. RETORCH* goes beyond the mere cost billed, and selects the solution that best aligns with the test team strategy using the data of on-premises prior executions and the tester's experience. This cost is broken down into the cost incurred to execute the test suite (testing cost) and possible unused infrastructure (overprovisioning cost). Based on these distinct costs, the test team can compare different Cloud and test configurations. RETORCH* has been evaluated using a real-world application's E2E test suite. We analyze how the different decisions taken when the suite is migrated to the Cloud impact the cost, highlighting how RETORCH* can help the tester during Cloud and test configuration to make a more informed decision.Source: THE JOURNAL OF SYSTEMS AND SOFTWARE
DOI: 10.1016/j.jss.2024.112237
DOI: 10.2139/ssrn.4549726
DOI: 10.2139/ssrn.4831590
DOI: 10.2139/ssrn.4935951
Project(s): MASE RDS-PTR_22_24_P2.1 Cybersecurity (Italy)
Metrics:


See at: Journal of Systems and Software Open Access | IRIS Cnr Open Access | IRIS Cnr Open Access | doi.org Restricted | doi.org Restricted | doi.org Restricted | CNR IRIS Restricted


2024 Journal article Open Access OPEN
A framework for the design of fault-tolerant systems-of-systems
Cerdeira Ferreira F. H., Nakagawa E. Y., Bertolino A., Lonetti F., De Oliveira Neves V., Pereira Dos Santos R.
Context: Systems-of-Systems (SoS) increasingly permeate everyday life in various critical domains. Due to their dynamic nature, guaranteeing their fault tolerance is challenging. Fault-tolerant SoS must deal with behavioral changes in constituent systems, whether accidental or deliberate. Goal: This work proposes ReViTA, a framework to assist professionals in designing fault-tolerant SoS that can continue to provide their function even in the presence of disturbances, i.e., events that affect the ability of an SoS to fulfill its mission. Methods: By adopting ReViTA, fault tolerance can be achieved by reconfiguring an SoS architecture to meet the critical mission requirements. Results: We performed two studies to evaluate the ReViTA acceptance by professionals. In the former, we gathered perceptions and suggestions from 14 professionals through individual interviews. In the latter, we involved a group of four professionals who applied ReViTA to a real-world scenario. Conclusion: The results demonstrate that ReViTA can effectively support professionals in designing faulttolerant SoS. Employing ReViTA also brings insights into costs and planning that are crucial for implementing fault-tolerance strategies. Using ReViTA facilitates a comprehensive understanding of conflicts and weaknesses in constituent systems and fosters collaboration between domain experts and decision-makers. Employing ReViTA also improves stakeholder communication and enhances resource utilization.Source: THE JOURNAL OF SYSTEMS AND SOFTWARE, vol. 211
DOI: 10.1016/j.jss.2024.112010
Metrics:


See at: IRIS Cnr Open Access | IRIS Cnr Open Access | IRIS Cnr Open Access | Journal of Systems and Software Restricted | CNR IRIS Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2024 Book Open Access OPEN
Quality of information and communications technology
Bertolino A., Faria J. P., Lago P., Semini L.
This book constitutes the proceedings of the 17th International Conference on the Quality of Information and Communications Technology, QUATIC 2024, held in Pisa, Italy, during September 11–13, 2024. The 34 full and short papers of QUATIC 2024 included in this book were carefully reviewed and selected from 49 submissions. QUATIC is a forum for disseminating advanced methods, techniques and tools to support quality approaches to ICT engineering and management. Practitioners and researchers are encouraged to exchange ideas and approaches on how to adopt a quality culture in ICT process and product improvement and to provide practical studies in varying contexts.Source: COMMUNICATIONS IN COMPUTER AND INFORMATION SCIENCE, vol. 2178
DOI: 10.1007/978-3-031-70245-7
Metrics:


See at: CNR IRIS Open Access | link.springer.com Open Access | doi.org Restricted | CNR IRIS Restricted


2023 Journal article Open Access OPEN
DevOpRET: continuous reliability testing in DevOps
Bertolino A., De Angelis G., Guerriero A., Miranda B., Pietrantuono R., Russo S.
To enter the production stage, in DevOps practices candidate software releases have to pass quality gates, where they are assessed to meet established target values for key indicators of interest. We believe software reliability should be an important such indicator, as it greatly contributes to the end-user satisfaction. We proposeDevOpRET, an approach for reliability testing as part of the acceptance testing stage in DevOps.DevOpRETrelies on operational-profile-based testing, a common reliability assessment technique.DevOpRETleverages usage and failure data monitored in operations to continuously refine its estimate. We evaluate accuracy and efficiency ofDevOpRETthrough controlled experiments with a real-world open source platform and with a microservice architectures benchmark. The results show thatDevOpRETprovides accurate and efficient estimates of the true reliability over subsequent DevOps cycles.Source: JOURNAL OF SOFTWARE, vol. 35 (issue 3)
DOI: 10.1002/smr.2298
Project(s): Governing Adaptive and Unplanned Systems of Systems
Metrics:


See at: CNR IRIS Open Access | onlinelibrary.wiley.com Open Access | Journal of Software Evolution and Process Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2023 Journal article Open Access OPEN
In vivo test and rollback of Java applications as they are
Bertolino A, De Angelis G, Miranda B, Tonella P
Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the field to conduct further testing activities. In this paper, we present the Groucho approach to in vivo testing. Groucho can suspend the execution, run some in vivo tests, rollback the side effects introduced by such tests, and eventually resume normal execution. The approach can be transparently applied to the original application, even if only available as compiled code, and it is fully automated. Our empirical studies of the performance overhead introduced by Groucho under various configurations showed that this may be kept to a negligible level by activating in vivo testing with low probability. Our empirical studies about the effectiveness of the approach confirm previous findings on the existence offaults that are unlikely exposed in house and become easy to expose in the field. Moreover, we include the first study to quantify the coverage increase gained when in vivo testing is added to complement in house testing.Source: SOFTWARE TESTING, VERIFICATION & RELIABILITY, vol. 33
DOI: 10.1002/stvr.1857
Project(s): SISMA, PRECRIME via OpenAIRE
Metrics:


See at: CNR IRIS Open Access | onlinelibrary.wiley.com Open Access | ISTI Repository Open Access | ISTI Repository Open Access | CNR IRIS Restricted | CNR IRIS Restricted


2023 Journal article Open Access OPEN
State of practical applicability of regression testing research: a live systematic literature review
Greca R, Miranda B, Bertolino A
Context: Software regression testing refers to rerunning test cases after the system under test is modified, ascertaining that the changes have not (re-)introduced failures. Not all researchers' approaches consider applicability and scalability concerns, and not many have produced an impact in practice. Objective: One goal is to investigate industrial relevance and applicability of proposed approaches. Another is providing a live review, open to continuous updates by the community. Method: A systematic review of regression testing studies that are clearly motivated by or validated against industrial relevance and applicability is conducted. It is complemented by follow-up surveys with authors of the selected papers and 23 practitioners. Results: A set of 79 primary studies published between 2016-2022 is collected and classified according to approaches and metrics. Aspects relative to their relevance and impact are discussed, also based on their authors' feedback. All the data are made available from the live repository that accompanies the study. Conclusions: While widely motivated by industrial relevance and applicability, not many approaches are evaluated in industrial or large-scale open-source systems, and even fewer approaches have been adopted in practice. Some challenges hindering the implementation of relevant approaches are synthesized, also based on the practitioners' feedback.Source: ACM COMPUTING SURVEYS, vol. 55 (issue 13s)
DOI: 10.1145/3579851
Metrics:


See at: dl.acm.org Open Access | CNR IRIS Open Access | ISTI Repository Open Access | ACM Computing Surveys Restricted | CNR IRIS Restricted


2023 Journal article Open Access OPEN
Editorial: Introduction to the special issue on test automation: trends, benefits, and costs
Bertolino A, De Angelis G, Leotta M, Ricca F
Source: THE JOURNAL OF SYSTEMS AND SOFTWARE, vol. 203
DOI: 10.1016/j.jss.2023.111751
Metrics:


See at: CNR IRIS Open Access | ISTI Repository Open Access | www.sciencedirect.com Open Access | Journal of Systems and Software Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2023 Conference article Open Access OPEN
Orchestration strategies for regression test suites
Greca R, Miranda B, Bertolino A
Regression testing is widely studied in the literature, although most research on the topic is concerned with improving specific sub-challenges of a wider goal. Test suite orchestration proposes a more comprehensive view of the challenge of regression testing, by merging and combining different techniques with a variety of objectives, including prioritizing, selecting, reducing and amplifying tests, detecting flaky tests and potentially more. This paper presents the key approaches and techniques that form test suite orchestration, along with common evaluation metrics, and discusses how they can be used together to ultimately provide an efficient and effective regression testing strategy. To illustrate the benefits of orchestration, we provide some examples of existing papers that take steps towards this goal, even if the specific terminology is not yet used. Orchestrated strategies utilizing existing regression testing techniques provide a pathway to practicality and real-world usage of the academic literature.DOI: 10.1109/ast58925.2023.00020
Metrics:


See at: CNR IRIS Open Access | ieeexplore.ieee.org Open Access | ISTI Repository Open Access | CNR IRIS Restricted | CNR IRIS Restricted


2023 Conference article Open Access OPEN
Cross-coverage testing of functionally equivalent programs
Bertolino A, De Angelis G, Di Giandomenico F, Lonetti F
Cross-coverage of a program P refers to the test coverage measured over a different program Q that is functionally equivalent to P. The novel concept of cross-coverage can find useful applications in the test of redundant software. We apply here cross-coverage for test suite augmentation and show that additional test cases generated from the coverage of an equivalent program, referred to as cross tests, can increase the coverage of a program in more effective way than a random baseline. We also observe that -contrary to traditional coverage testing-cross coverage could help finding (artificially created) missing functionality faults.DOI: 10.1109/ast58925.2023.00014
Metrics:


See at: CNR IRIS Open Access | ieeexplore.ieee.org Open Access | ISTI Repository Open Access | CNR IRIS Restricted | CNR IRIS Restricted


2023 Conference article Open Access OPEN
Fault localization for reinforcement learning
Morán J, Bertolino A, De La Riva C, Tuya J
Reinforcement Learning is widely adopted in industry to approach control tasks in intelligent way. The quality of these programs is important especially when they are used for critical tasks like autonomous driving. Testing and debugging these programs are complex because they behave autonomously without providing insights about the reasons of the decisions taken. Even these decisions could be wrong if they learned from faults. In this paper, we present the first approach to automatically locate faults in Reinforcement Learning programs. This approach called SBFL4RL analyses several executions to extract those internal states that commonly reduce the performance of the program when they are covered. Locating these states can help testers to understand a known fault, or even detect an unknown fault. SBFL4RL is validated in 2 case studies locating correctly an injected fault. Initial results suggest that the faults of reinforcement learning programs can be automatically located, and there is room for further research.DOI: 10.1109/aitest58265.2023.00016
Metrics:


See at: CNR IRIS Open Access | ieeexplore.ieee.org Open Access | ISTI Repository Open Access | CNR IRIS Restricted | CNR IRIS Restricted


2023 Journal article Open Access OPEN
Model-based security testing in IoT systems: a rapid review
Lonetti F, Bertolino A, Di Giandomenico F
Context: Security testing is a challenging and effort-demanding task in IoT scenarios. The heterogeneous devices expose different vulnerabilities that can influence the methods and cost of security testing. Model-based security testing techniques support the systematic generation of test cases for the assessment of security requirements by leveraging the specifications of the IoT system model and of the attack templates. Objective: This paper aims to review the adoption of model-based security testing in the context of IoT, and then provides the first systematic and up-to-date comprehensive classification and analysis of research studies in this topic. Method: We conducted a systematic literature review analysing 803 publications and finally selecting 17 primary studies, which satisfied our inclusion criteria and were classified according to a set of relevant analysis dimensions. Results: We report the state-of-the-art about the used formalisms, the test techniques, the objectives, the target applications and domains; we also identify the targeted security attacks, and discuss the challenges, gaps and future research directions. Conclusion: Our review represents the first attempt to systematically analyze and classify existing studies on model-based security testing for IoT. According to the results, model-based security testing has been applied in core IoT domains. Models complexity and the need of modeling evolving scenarios that include heterogeneous open software and hardware components remain the most important shortcomings. Our study shows that model-based security testing of IoT applications is a promising research direction. The principal future research directions deal with: extending the existing modeling formalisms in order to capture all peculiarities and constraints of complex and large scale IoT networks; the definition of context-aware and dynamic evolution modelling approaches of IoT entities; and the combination of model-based testing techniques with other security test strategies such as penetration testing or learning techniques for model inference.Source: INFORMATION AND SOFTWARE TECHNOLOGY, vol. 164
DOI: 10.1016/j.infsof.2023.107326
Metrics:


See at: CNR IRIS Open Access | ISTI Repository Open Access | www.sciencedirect.com Open Access | CNR IRIS Restricted


2023 Journal article Open Access OPEN
A systematic mapping study on security for systems of systems
Olivero Ma, Bertolino A, Dominguezmayo Fj, Escalona Mj, Matteucci I
In the late twentieth century, the term "System of Systems" (SoS) became popular to describe a complex system made up of a combination of independent constituent systems. Since then, several studies have been conducted to support and assess SoS management, functionality, and performance. Due to the evolutionary nature of SoS and the non-composability of the security properties of its constituent systems, it is difficult to assess or evaluate SoS security. This paper provides an up-to-date survey on SoS security, aimed at stimulating and guiding further research efforts. This systematic mapping study (SMS) focuses on SoS security, privacy, and trust. Our SMS identified 1828 studies from 6 digital libraries, 87 of which were selected that presented approaches analyzing, evaluating, or improving security. We classified these studies using nine research questions that focused on the nature of the studies, the studied SoS, or the study validation. After examining the selected studies, we identified six gaps and as many future work directions. More precisely, we observed that few studies examine SoS problems and instead propose specific solutions, making it challenging to develop generalizable approaches. Furthermore, the lack of standardization has hindered the reuse of existing approaches, making it difficult for solutions to be generalized to other SoS. In addition, the lack of descriptions of industrial environments in the literature makes it difficult to design realistic validation environments. As a result, the validation of new SoS research remains a challenge in the field.Source: INTERNATIONAL JOURNAL OF INFORMATION SECURITY (INTERNET)
DOI: 10.1007/s10207-023-00757-0
Metrics:


See at: CNR IRIS Open Access | link.springer.com Open Access | ISTI Repository Open Access | CNR IRIS Restricted


2023 Conference article Restricted
Software regression testing orchestration: because so many techniques need a conductor (and not necessarily a human one)
Bertolino A
Software regression testing aims at ensuring that introduced changes do not cause previously passing tests to fail. Testing consumes a great part of software development and maintenance effort, and regression testing is by far the most expensive among testing activities. Along three decades, research has proposed many techniques that address the cost-effective software regression testing along different dimensions, including, among others, prioritization, minimization, selection, and amplification techniques. Notwithstanding, the problem remains prominent, even more by considering continuous integration practices that promote frequent change commits and retesting. In our work we point to two issues in current research on software regression testing: it is fragmented, in that the large part of proposed approaches only address one problem dimension at a time, and it often relies on unrealistic assumptions that make most proposed solutions hardly applicable. We addressed the latter issue in a recent systematic review of literature, complemented with a survey of professional testers. As a result of such an effort, we share a live open repository of current techniques and tools. To address the former issue, we introduced the notion of regression test orchestration, which consists of combining different techniques into one synergic strategy. Some initial studies (unsurprisingly) confirm that approaching regression testing by using properly combined techniques can often provide more efficient and effective solutions. Indeed, to identify the most effective orchestration strategies we need to perform empirical studies that compare and combine the many existing techniques. We invite the community to the conduction of more similar studies. For the future in this keynote we also hint at a regression test orchestration framework that ideally can autonomously manage itself by continuously monitoring the testing process and by proposing an optimized test campaign via the embedding of suitable heuristics and learning approaches. Such an autonomic test orchestrator would alleviate testers from the effort-demanding regression testing practices, allowing them to better spend their energy into other tasks requiring human attention.Source: PROCEEDINGS-INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, pp. 28-29. Florence, Italy, 9-12/10/2023
DOI: 10.1109/issre59848.2023.00059
Metrics:


See at: CNR IRIS Restricted | CNR IRIS Restricted | issre.github.io Restricted


2022 Journal article Open Access OPEN
A survey of field-based testing techniques
Bertolino A., Braione P., De Angelis G., Gazzola L., Kifetew F., Mariani L., Orrù M., Pezzè M., Pietrantuono R., Russo S., Tonella P.
Field testing refers to testing techniques that operate in the field to reveal those faults that escape in-house testing. Field testing techniques are becoming increasingly popular with the growing complexity of contemporary software systems. In this paper, we present the first systematic survey of field testing approaches over a body of 80 collected studies, and propose their categorization based on the environment and the system on which field testing is performed. We discuss four research questions addressing how software is tested in the field, what is tested in the field, which are the requirements, and how field tests are managed, and identify many challenging research directions.Source: ACM COMPUTING SURVEYS, vol. 54 (issue 5)
DOI: 10.1145/3447240
Project(s): Governing Adaptive and Unplanned Systems of Systems, PRECRIME
Metrics:


See at: dl.acm.org Open Access | CNR IRIS Open Access | CNR IRIS Restricted | CNR IRIS Restricted | CNR IRIS Restricted | CNR IRIS Restricted


2022 Journal article Open Access OPEN
Designing and testing systems of systems: from variability models to test cases passing through desirability assessment
Lonetti F, De Oliveira Neves V, Bertolino A
In the early stages of a system of systems (SoS) conception, several constituent systems could be available that provide similar functionalities. An SoS design methodology should provide adequate means to model variability in order to support the opportunistic selection of the most desirable SoS configuration. We propose the VANTESS approach that (i) supports SoS modeling taking into account the variation points implied by the considered constituent systems; (ii) includes a heuristics to weight benefits and costs of potential architectural choices (called as SoS variants) for the selection of the constituent systems; and finally (iii) also helps test planning for the selected SoS variant by deriving a simulation model on which test objectives and scenarios can be devised. We illustrate an application example of VANTESS to the "educational" SoS and discuss its pros and cons within a focus group.Source: JOURNAL OF SOFTWARE (MALDEN, MASS. ONLINE)
DOI: 10.1002/smr.2427
Metrics:


See at: CNR IRIS Open Access | onlinelibrary.wiley.com Open Access | ISTI Repository Open Access | CNR IRIS Restricted | CNR IRIS Restricted


2022 Journal article Open Access OPEN
A Delphi study to recognize and assess systems of systems vulnerabilities
Olivero M A, Bertolino A, Dominguezmayo F J, Matteucci I, María José Escalona M J
Context System of Systems (SoS) is an emerging paradigm by which independent systems collaborate by sharing resources and processes to achieve objectives that they could not achieve on their own. In this context, a number of emergent behaviors may arise that can undermine the security of the constituent systems. Objective We apply the Delphi method with the aims to improve our understanding of SoS security and related problems, and to investigate their possible causes and remedies. Method Experts on SoS expressed their opinions and reached consensus in a series of rounds by following a structured questionnaire. Results The results show that the experts found more consensus in disagreement than in agreement about some SoS characteristics, and on how SoS vulnerabilities could be identified and prevented. Conclusions From this study we learn that more work is needed to reach a shared understanding of SoS vulnerabilities, and we leverage expert feedback to outline some future research directions.Source: INFORMATION AND SOFTWARE TECHNOLOGY, vol. 146
DOI: 10.1016/j.infsof.2022.106874
Metrics:


See at: CNR IRIS Open Access | ISTI Repository Open Access | www.sciencedirect.com Open Access | CNR IRIS Restricted


2022 Other Restricted
Unobtrusive in vivo test and rollback of Java applications
Bertolino A, De Angelis G, Miranda B, Tonella P
Modern software systems accommodate complex configurations and execution conditions that depend on the environment where the software is run. While in house testing can exercise only a fraction of such execution contexts, in vivo testing can take advantage of the execution state observed in the field to conduct further testing activities. In this paper, we present the Groucho approach to in vivo testing. Groucho can suspend the execution, run some in vivo tests, rollback the side effects introduced by such tests, and eventually resume normal execution. Differently from the state-of-art approach Invite, Groucho can be transparently applied to the original application code, even if only available as compiled code, and is fully automated. Our empirical studies of the performance overhead introduced by Groucho under various configurations showed that this may be kept to a negligible level by activating in vivo testing with low probability. Our empirical studies about the effectiveness of the approach confirm previous findings on the existence of faults that are unlikely exposed in house and become easy to expose in the field. Moreover, we include the first study to quantify the coverage increase gained when in vivo testing is added to complement in house testing.DOI: 10.32079/isti-tr-2022/008
Metrics:


See at: CNR IRIS Restricted | CNR IRIS Restricted