Oct 12 - 15, 2020
Wednesday, October 14th, 16:15 - 16:45 UTC, J1C2: Journal-first Paper Presentations, Session Chair: Peter Popov
ISSRE continues to enrich the program of the conference, we are enriching the program with journal-first presentations. Journal-first papers report completely new contributions that have not been previously presented at any other conference or journal, and that do not extend any previous paper. The journal-first papers were selected among the ones recently published in the journal (2019 and mid-2020) and that intersect with the topics of interest of the ISSRE conference.
An Empirical Study of Regression Bug Chains in Linux Guanping Xiao (Nanjing University of Aeronautics and Astronautics, China), Zheng Zheng (Beihang University, China), Bo Jiang (Beihang University, China), Yulei Sui (University of Technology Sydney, Australia)
Dependability Assessment of the Android OS Through Fault Injection Domenico Cotroneo (Università degli Studi di Napoli Federico II, Italy), Antonio Ken Iannillo (SnT, University of Luxembourg, Luxembourg), Roberto Natella (Università degli Studi di Napoli Federico II, Italy), Stefano Rosiello (Università degli Studi di Napoli Federico II, Italy)
Optimal Test Activity Allocation for Covariate Software Reliability and Security Models Vidhyashree Nagaraju (University of Tulsa, OK, USA), Chathuri Jayasinghe (University of Sri Jayewardenepura), Lance Fiondella (University of Massachusetts Dartmouth, MA, USA)
An Empirical Study of Regression Bug Chains in Linux Guanping Xiao (Nanjing University of Aeronautics and Astronautics, China), Zheng Zheng (Beihang University, China), Bo Jiang (Beihang University, China), Yulei Sui (University of Technology Sydney, Australia)
https://ieeexplore.ieee.org/document/8673578
Abstract
Context: Regression bugs are a type of bugs which cause a feature of software that worked correctly but stop working after a certain software commit. Due to the complexity of software systems, a commit c1, which fixes a regression bug b1 may accidentally introduce another regression bug b2. Likewise, commit c2 repairing b2 may cause another regression bug b3, resulting in a regression bug chain, i.e., b1 → c1 → b2 → c2 → b3.
Objective: In this paper, we present a systematic study to formulate, summarize and understand the regression bug chains, thereby we can provide more useful insights for programmers to reduce the maintenance cost by fixing this type of bugs.
Method: We have conducted a large-scale study by collecting 1579 regression bugs and 2630 commits from 57 Linux versions (2.6.12 - 4.9). The relationships between regression bugs and commits are modeled as a directed bipartite network. The analysis was performed on three aspects: the prevalence of regression bug chains in Linux, the characteristics of regression bug chains and the patterns of the bug-commit relationships.
Results: Our major contributions and findings are fourfold. (1) A novel concept of regression bug chains and their formulation. (2) Compared to an isolated regression bug, a bug on a regression bug chain is much more difficult to repair, costing 2.4X more fixing time, involving 1.3X more developers and 2.8X more com- ments. (3) 85.8% of bugs on the chains in Linux reside in Drivers, ACPI, Platform Specific/Hardware and Power Management. (4) 83% of the chains affect only a single Linux subsystem, while 68% of the chains propagate across Linux versions.
Conclusion: Along with eight findings and their implications, our results provide useful insights into the software maintenance process for large-scale real-world software systems. The charac- teristics of regression bug chains remain to be explored in other software projects. The proposed methodology is applicable for any project with version control and bug tracking systems.
Dependability Assessment of the Android OS Through Fault Injection Domenico Cotroneo (Università degli Studi di Napoli Federico II, Italy), Antonio Ken Iannillo (SnT, University of Luxembourg, Luxembourg), Roberto Natella (Università degli Studi di Napoli Federico II, Italy), Stefano Rosiello (Università degli Studi di Napoli Federico II, Italy)
https://doi.org/10.1109/TR.2019.2954384
Abstract
Context:The reliability of mobile devices is a challenge for vendors, since the mobile software stack has significantly grown in complexity. In this article, we study how to assess the impact of faults on the quality of user experi- ence in the Android mobile OS through fault injection. In particular, we address the challenge of defining what faults to inject (fault model), due to the large number and heterogeneity of hardware and software components in a modern mobile device.
Contributions: Our assessment methodology aims to support de- velopers at defining, conducting, and analyzing fault injection tests in a systematic and efficient way. Towards this goal, the paper presents the following novel contributions:
Optimal Test Activity Allocation for Covariate Software Reliability and Security Models Vidhyashree Nagaraju (University of Tulsa, OK, USA), Chathuri Jayasinghe (University of Sri Jayewardenepura), Lance Fiondella (University of Massachusetts Dartmouth, MA, USA)
https://www.sciencedirect.com/science/article/pii/S016412122030114X?via=ihub
Abstract
Context: Traditional software reliability growth models (SRGM) characterize the fault discovery process during testing as a non-homogeneous Poisson process (NHPP). These models predict future faults as a function of testing time or effort, enabling inferences such as the number of faults remaining, additional time required to achieve a specified reliability, and optimization problems such as optimal release and effort allocation. However, the vast majority of these NHPP SRGM do not identify the underlying software testing activities that lead to fault discovery. Thus, effort allocation based on these models can only provide general guidance on the amount of effort to invest and limited information regarding the effectiveness of specific testing activities.
Contributions: Covariate models exhibit substantially improved prediction capabilities over NHPP software reliability growth models. There- fore, to enhance the utility of covariate models and encourage their use in practice, this paper makes the following primary contributions.
Conclusion: The illustrations apply the model to two data sets from the literature with the ECM algorithms and then solves the optimal testing activity allocation problem. The results indicate that periodic application of testing activity allocation could more effectively guide the type and amount of specific testing activities throughout the software testing process in order to discover more faults despite limited resources.
References:
[1] K. Shibata, K. Rinsaka, and T. Dohi, “Metrics-based software reliability models using non-homogeneous Poisson processes,” in IEEE Interna- tional Symposium on Software Reliability Engineering, 2006, pp. 52–61.
[2] J. Kalbfleisch and R. Prentice, “Marginal likelihoods based on Cox’s regression and life model,” Biometrika, vol. 60, no. 2, pp. 267–278, 1973.
[3] V. Nagaraju, L. Fiondella, P. Zeephongsekul, C. Jayasinghe, and T. Wandji, “Performance optimized expectation conditional maximization algorithms for nonhomogeneous Poisson process software reliability models,” IEEE Transactions on Reliability, vol. 66, no. 3, pp. 722–734, 2017.
[4] S. Yamada, J. Hishitani, and S. Osaki, “Software-reliability growth with a weibull test-effort: A model and application,” IEEE Transactions on Reliability, vol. 42, no. 1, pp. 100–106, 1993.