A journal of IEEE and CAA , publishes high-quality papers in English on original theoretical/experimental research and development in all areas of automation
Volume 8 Issue 6
Jun.  2021

IEEE/CAA Journal of Automatica Sinica

  • JCR Impact Factor: 11.8, Top 4% (SCI Q1)
    CiteScore: 17.6, Top 3% (Q1)
    Google Scholar h5-index: 77, TOP 5
Turn off MathJax
Article Contents
J. Zhang, Y. Lu, K. Shi, and C. Xu, "Empirical Research on the Application of a Structure-Based Software Reliability Model," IEEE/CAA J. Autom. Sinica, vol. 8, no. 6, pp. 1153-1162, Jun. 2021. doi: 10.1109/JAS.2020.1003309
Citation: J. Zhang, Y. Lu, K. Shi, and C. Xu, "Empirical Research on the Application of a Structure-Based Software Reliability Model," IEEE/CAA J. Autom. Sinica, vol. 8, no. 6, pp. 1153-1162, Jun. 2021. doi: 10.1109/JAS.2020.1003309

Empirical Research on the Application of a Structure-Based Software Reliability Model

doi: 10.1109/JAS.2020.1003309
Funds:  This work was supported by the National Natural Science Foundation of China (61572167), the National Key Research and Development Program of China (2016YFC0801804), and the Natural Science Foundation for Anhui Higher Education Institutions of China (KJ2019A0482)
More Information
  • Reliability engineering implemented early in the development process has a significant impact on improving software quality. It can assist in the design of architecture and guide later testing, which is beyond the scope of traditional reliability analysis methods. Structural reliability models work for this, but most of them remain tested in only simulation case studies due to lack of actual data. Here we use software metrics for reliability modeling which are collected from source codes of post versions. Through the proposed strategy, redundant metric elements are filtered out and the rest are aggregated to represent the module reliability. We further propose a framework to automatically apply the module value and calculate overall reliability by introducing formal methods. The experimental results from an actual project show that reliability analysis at the design and development stage can be close to the validity of analysis at the test stage through reasonable application of metric data. The study also demonstrates that the proposed methods have good applicability.

     

  • loading
  • [1]
    F. Febrero, C. Calero, and M. Á. Moraga, “A Systematic Mapping Study of Software Reliability Modeling,” Inform. Software Tech., vol. 56, no. 8, pp. 839–849, 2014. doi: 10.1016/j.infsof.2014.03.006
    [2]
    H. Mei, G. Huang, L. Zhang, and W. Zhang, “ABC: A method of software architecture modeling in the whole lifecycle,” Science China-Information Sciences, vol. 44, no. 5, Article No. 564, 2014.
    [3]
    A. D. Plessis, K. Frank, M. Saglimbene, and N. Ozarin, “The thirty greatest reliability challenges,” in Proc. Reliability and Maintainability Symposium, vol. 94, pp. 1–6, Jan. 2014.
    [4]
    T. Dan, M. Galster, P. Avgeriou, and W. Schuitema, “Past and future of software architectural decisions – A systematic mapping study,” Inform. Software Tech., vol. 56, no. 8, pp. 850–872, 2014. doi: 10.1016/j.infsof.2014.03.009
    [5]
    B. Littlewood, “Software reliability model for modular program structure,” IEEE Trans. Reliability, vol. R–28, no. 3, pp. 241–246, 1979. doi: 10.1109/TR.1979.5220576
    [6]
    R. C. Cheung, “A user-oriented software reliability model,” IEEE Trans. Software Engineering, vol. SE–6, no. 2, pp. 118–125, 1980. doi: 10.1109/TSE.1980.234477
    [7]
    J. C. Laprie, “Dependability evaluation of software systems in operation,” IEEE Trans. Software Engineering, vol. SE–10, no. 6, pp. 701–714, 1984. doi: 10.1109/TSE.1984.5010299
    [8]
    A. L. Goel and K. Okumoto, “Time-dependent error-detection rate model for software reliability and other performance measures,” IEEE Trans. Reliability, vol. R–28, no. 3, pp. 206–211, 1979. doi: 10.1109/TR.1979.5220566
    [9]
    W. B. Zheng, M. C. Zhou, L. Wu, Y. N. Xia, X. Luo, S. C. Pang, Q. S. Zhu, and Y. Q. Wu, “Percentile performance estimation of unreliable IAAS clouds and their cost-optimal capacity decision,” IEEE Access, no. 5, pp. 2808–2818, 2017.
    [10]
    J. Li, X. Luo, Y. N. Xia, Y. K. Han, and Q. S. Zhu, “A time series and reduction-based model for modeling and QoS prediction of service compositions,” Concurrency and Computation:Practice and Experience, vol. 27, no. 1, pp. 146–163, 2015. doi: 10.1002/cpe.3208
    [11]
    Y. N. Xia, X. Luo, J. Li, and Q. S. Zhu, “A Petri-net-based approach to reliability determination of ontology-based service compositions,” IEEE Trans. Systems,Man,and Cybernetics:Systems, vol. 43, no. 5, pp. 1240–1247, 2013. doi: 10.1109/TSMCA.2012.2227957
    [12]
    S. S. Gokhale, “Architecture-based software reliability analysis: overview and limitations,” IEEE Trans. Dependable and Secure Computing, vol. 4, no. 1, pp. 32–40, 2007. doi: 10.1109/TDSC.2007.4
    [13]
    Y. N. Xia, M. C. Zhou, X. Luo, Q, S. Zhu, J. Li, and Y. Huang, “Stochastic modeling and quality evaluation of Infrastructure-as-a-Service clouds,” IEEE Trans. Autom. Science and Engineering, vol. 12, no. 1, pp. 162–170, 2015. doi: 10.1109/TASE.2013.2276477
    [14]
    X. Luo, M. C. Zhou, Z. D. Wang, Y. N. Xia, and Q. S. Zhu, “An effective scheme for QoS estimation via alternating direction method-based matrix factorization,” IEEE Trans. Services Computing, vol.12, no.4, pp.503–518, 2019.
    [15]
    X. Luo, M. C. Zhou, S. Li, Y. N. Xia, Z. H. You, Q. S. Zhu, and H. Leung, “Incorporation of efficient second-order solvers into latent factor models for accurate prediction of missing QoS data,” IEEE Trans. Cybernetics, vol. 48, no. 4, pp. 1216–1228, 2018. doi: 10.1109/TCYB.2017.2685521
    [16]
    S. P. Luan, and C. Y. Huang, “An improved Pareto distribution for modelling the fault data of open source software,” Software Testing,Verification and Reliability, vol. 24, no. 6, pp. 416–437, 2014. doi: 10.1002/stvr.1504
    [17]
    H. Sukhwani, J. Alonso, K. S. Trivedi, and I. Mcginnis, “Software reliability analysis of nasa space flight software: A practical experience,” in Proc. IEEE Int. Conf. Software Quality, Reliability and Security, vol. 3, pp. 386–397, 2016.
    [18]
    L. Aversano, and M. Tortorella, “Analysing the reliability of Open Source software projects,” in Proc. 10th Int. Joint Conf. Software Technologies, pp. 348–357, 2016.
    [19]
    K. Honda, N. Nakamura, H. Washizaki, and Y. Fukazawa, “Case study: Project management using cross project software reliability growth model,” in Proc. IEEE Int. Conf. Software Quality, Reliability and Security Companion, pp. 41–44, 2016.
    [20]
    Y. Tamura and S. Yamada, “Reliability analysis considering the component collision behavior for a large-scale open source solution,” Qual. Reliab. Eng. Int., vol. 30, no. 5, pp. 669–680, 2014. doi: 10.1002/qre.1519
    [21]
    L. Fiondella, A. Nikora, and T. Wandji, “Software reliability and security: challenges and crosscutting themes,” in Proc. IEEE Int. Symposium Software Reliability Engineering Workshops, pp. 55–56, 2016.
    [22]
    K. Shibata, K. Rinsaka, and T. Dohi, “Metrics-based software reliability models using non-homogeneous poisson processes,” in Proc. Int. Symposium Software Reliability Engineering, IEEE Computer Society, pp. 52–61, 2006.
    [23]
    D. S. Kushwaha and A. K. Misra, “Cognitive complexity metrics and its impact on software reliability based on cognitive software development model,” ACM SIGSOFT Software Engineering Notes, vol. 31, no. 2, pp. 1–6, 2006.
    [24]
    Y. M. Chu and S. Y. Xu, “Exploration of complexity in software reliability,” Tsinghua Science and Technology, vol. 12, no. S1, pp. 266–269, 2007.
    [25]
    R. Bharathi and R. Selvarani, “A framework for the estimation of OO software reliability using design complexity metrics,” in Proc. Int. Conf. Trends in Autom. Communications and Computing Technology, pp. 1–7, 2016.
    [26]
    M. D’Ambros, M. Lanza, and R. Robbes, “Evaluating defect prediction approaches: a benchmark and an extensive comparison,” Empirical Software Engineering, vol. 17, no. 4–5, pp. 531–577, 2012. doi: 10.1007/s10664-011-9173-9
    [27]
    F. Zhang, A. E. Hassan, S. Mcintosh, and Y. Zou, “The use of summation to aggregate software metrics hinders the performance of defect prediction models,” IEEE Trans. Software Engineering, vol. 43, no. 5, pp. 476–491, 2017. doi: 10.1109/TSE.2016.2599161
    [28]
    K. Goseva-Popstojanova, A. P. Mathur, and K. S. Trivedi, “Comparison of architecture-based software reliability models,” in Proc. Int. Symposium Software Reliability Engineering, IEEE Computer Society, vol. 7, pp. 22–31, 2001.
    [29]
    J. Zhang, Y. Lu, and G. L. Liu, “Algebraic approach of software reliability estimation based on architecture analysis,” Systems Engineering and Electronics, vol. 37, no. 11, pp. 2654–2662, 2015.
    [30]
    H. Q. Zhao and J. Sun, “An algebraic model of Internetware software architecture,” Science China-Information Sciences, vol. 43, no. 1, pp. 161–177, 2013.
    [31]
    S. Pestov, “JEdit programmer’s text editor (2018),” [Online]. Available: http://www.jedit.org/main.html, Accessed on: Mar. 16, 2018.
    [32]
    G. Boetticher, T. Menzies, and T. Ostrand, “Tera-PROMISE: Welcome to one of the largest repositories of SE research data (2018),” [Online]. Available: http://openscience.us/repo/index.html, Accessed on: Mar. 22, 2018.
    [33]
    D. Radjenović, M. Heričko, R. Torkar, and A. Živkovič, “Software fault prediction metrics: A systematic literature review,” Information and Software Technology, vol. 55, no. 8, pp. 1397–1418, 2013.
    [34]
    T. J. Mccabe, “A complexity measure,” IEEE Trans. Software Engineering, vol. SE–2, no. 4, pp. 308–320, 1976. doi: 10.1109/TSE.1976.233837
    [35]
    S. R. Chidamber and C. F. Kemerer, “A metrics suite for object oriented design,” IEEE Trans. Software Engineering, vol. 20, no. 11, pp. 197–211, 1994.
    [36]
    D. P. Darcy and C. F. Kemerer, “OO metrics in practice,” IEEE Software, vol. 22, no. 6, pp. 17–19, 2005. doi: 10.1109/MS.2005.160
    [37]
    R. Moser, W. Pedrycz, and G. Succi, “A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction,” in Proc. ACM/IEEE Int. Conf. Software Engineering, pp. 181–190, 2008.
    [38]
    L. Madeyski and M. Jureczko, “Which process metrics can significantly improve defect prediction models? An empirical study,” Software Quality Journal, vol. 23, no. 3, pp. 393–422, 2015. doi: 10.1007/s11219-014-9241-7
    [39]
    D. J. Sheskin, Handbook of Parametric and Nonparametric Statistical Procedures, 5th ed, Boca Raton, USA: Chapman & Hall/CRC, 2012.
    [40]
    D. Rodriguez, R. Ruiz, J. Cuadrado-Gallego, and J. Aguilar-Ruiz, “Attribute selection in software engineering datasets for detecting fault modules,” in Proc. 33rd EUROMICRO Conf. Software Engineering and Advanced Applications, pp. 418–423, 2007.
    [41]
    G. Brat and A. Venet, “Precise and scalable static program analysis of NASA flight software,” in Proc. IEEE Aerospace Conf., pp. 1–10, 2005.
    [42]
    C. Y. Huang, S. Y. Kuo, and M. R. Lyu, “An assessment of testing-effort dependent software reliability growth models,” IEEE Trans. on Reliability, vol. 56, no. 2, pp. 198–211, 2007. doi: 10.1109/TR.2007.895301

Catalog

    通讯作者: 陈斌, bchen63@163.com
    • 1. 

      沈阳化工大学材料科学与工程学院 沈阳 110142

    1. 本站搜索
    2. 百度学术搜索
    3. 万方数据库搜索
    4. CNKI搜索

    Figures(7)  / Tables(5)

    Article Metrics

    Article views (970) PDF downloads(27) Cited by()

    Highlights

    • This paper reveals the relationship between software code metrics and software reliability from an empirical perspective, which makes it possible to introduce reliability engineering to ensure software quality at the early stage of software development without having to rely on the final test reports.
    • The strategy of classification, screening and aggregation of measurement data is proposed in order to calculate the module reliability value accordingly. The appropriate module granularity selection ensures the structural analysis of the target software. This provides a methodological exploration for the application of structure-based software reliability model in actual projects.
    • A framework for empirical research is presented. In this framework, the algebraic method is introduced to express the software structure accurately, and the overall software reliability calculation can be completed automatically. The reliability-related evaluation process established by the framework has important theoretical value and practical meaning for real-time quality monitoring accompanying software project development.

    /

    DownLoad:  Full-Size Img  PowerPoint
    Return
    Return