2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

面向软件演化的可靠性分析代数方法

张捷 陆阳 张本宏 刘广亮

张捷,陆阳,张本宏,刘广亮. 面向软件演化的可靠性分析代数方法. 自动化学报, 2021, 47(1): 148-160 doi: 10.16383/j.aas.c180143
引用本文: 张捷,陆阳,张本宏,刘广亮. 面向软件演化的可靠性分析代数方法. 自动化学报, 2021, 47(1): 148-160 doi: 10.16383/j.aas.c180143
Zhang Jie, Lu Yang, Zhang Ben-Hong, Liu Guang-Liang. Reliability analysis algebraic approach to software evolution. Acta Automatica Sinica, 2021, 47(1): 148-160 doi: 10.16383/j.aas.c180143
Citation: Zhang Jie, Lu Yang, Zhang Ben-Hong, Liu Guang-Liang. Reliability analysis algebraic approach to software evolution. Acta Automatica Sinica, 2021, 47(1): 148-160 doi: 10.16383/j.aas.c180143

面向软件演化的可靠性分析代数方法

doi: 10.16383/j.aas.c180143
基金项目: 

国家重点研发计划专项 2016YFC0801804

国家自然科学基金 61572167

详细信息
    作者简介:

    张捷   合肥工业大学计算机与信息学院博士研究生. 2009年获得同济大学电子与信息工程学院硕士学位.主要研究方向为系统可靠性, 软件可靠性, 可靠性工程. E-mail: zjzj2526@163.com

    张本宏  合肥工业大学计算机与信息学院副教授. 2010年获得合肥工业大学计算机应用技术专业博士学位.主要研究方向为分布式控制, 嵌入式系统, 可靠性工程. E-mail: zhangbh@hfut.edu.cn

    刘广亮  合肥工业大学计算机与信息学院博士研究生.主要研究方向为软件可靠性工程与数据挖掘.E-mail: homecs@126.com

    通讯作者:

    陆阳  合肥工业大学计算机与信息学院教授. 2002年获得合肥工业大学计算机应用技术专业博士学位.主要研究方向为分布式控制, 可靠性工程, 物联网工程.本文通信作者. E-mail: luyang.hf@126.com

Reliability Analysis Algebraic Approach to Software Evolution

Funds: 

National Key Research and Development Program 2016YFC0801804

National Natural Science Foundation of China 61572167

More Information
    Author Bio:

    ZHANG Jie   Ph. D. candidate at the School of Computer Science and Information Engineering, Hefei University of Technology. He received his master degree from Tongji University in 2009. His research interest covers system reliability, software reliability, and reliability engineering

    ZHANG Ben-Hong   Associate professor at the School of Computer Science and Information Engineering, Hefei University of Technology. He received his Ph. D. degree in computer application technology from Hefei University of Technology in 2010. His research interest covers distributed control, embedded system, and reliability engineering

    LIU Guang-Liang   Ph. D. candidate at the School of Computer Science and Information Engineering, Hefei University of Technology. His research interest covers software reliability engineering and data mining

    Corresponding author: LU Yang   Professor at the School of Computer Science and Information Engineering, Hefei University of Technology. He received his Ph. D. degree in computer application technology from Hefei University of Technology in 2002. His research interest covers distributed control, reliability engineering, and Internet of Things engineering. Corresponding author of this paper
  • 摘要: 环境和需求的改变导致软件演化发生, 并通常会使软件架构(Software architecture, SA)产生变化.现有的结构化软件可靠性模型对评价软件初始结构设计有不错的效果, 但在软件演化时的实时分析方面有局限性.从软件结构建模出发, 通过使用代数方法将软件演化描述为原子操作序列, 并跟踪分析序列中每一步操作对可靠性的影响, 从而建立基于过程的可靠性分析方法.方法可分析演化关键环节及整体趋势, 用以进一步反馈和约束演化方案设计, 最终达到提高软件产品质量的目的.通过对2个实际算例的深入分析与讨论, 方法的有效性与易用性得到验证.
    Recommended by Associate Editor CAI Kai-Yuan
    1)  本文责任编委 蔡开元
  • 图  1  ESA软件组件迁移图

    Fig.  1  The component transition diagram of ESA software

    图  2  ESA软件组件迁移图(标注可靠性信息)

    Fig.  2  The component transition diagram of ESA software (labeled with reliability information)

    图  3  ESA软件组件迁移图(演化后)

    Fig.  3  The component transition diagram of ESA software (after evolution)

    图  4  ESA软件演化过程的小格图表示

    Fig.  4  Evolution process of ESA software represented by the small multiples

    图  5  面向软件演化的可靠性分析流程

    Fig.  5  The reliability analysis process for software evolution

    图  6  软件演化过程的版本表示

    Fig.  6  The version-expression in software evolution process

    图  7  ESA软件演化过程可靠性变化趋势

    Fig.  7  The reliability trends in evolution process of ESA software

    图  8  演化版本间抖动程度

    Fig.  8  The reliability distance between evolution versions

    图  9  算例1初始结构与相关参数

    Fig.  9  The reliability trends in evolution process of ESA software

    图  10  算例1演化可靠性变化趋势

    Fig.  10  Reliability trends in evolution of Case 1

    图  11  算例1版本抖动与组件关键程度

    Fig.  11  Version distance and component criticality of Case 1

    图  12  算例2初始结构与相关参数

    Fig.  12  The reliability trends in evolution process of ESA software

    图  13  算例2演化可靠性变化趋势

    Fig.  13  Reliability trends in evolution of Case 2

    图  14  算例2版本抖动与组件关键程度

    Fig.  14  Version distance and component criticality of Case 2

    图  15  可靠性受分支概率参数变化的影响

    Fig.  15  Reliability as a function of branch probability

    表  1  演化原子操作分类

    Table  1  Classification of evolutionary atomic operations

    名称 定义描述
    AM 增加组件模块
    RM 移除组件模块
    AMD 增加模块间依赖关系
    RMD 移除模块间依赖关系
    UM 更新组件模块(算法、功能)
    UMD 更新模块间依赖关系(接口)
    SM (单个)模块分割
    UM (多个)模块耦合
    下载: 导出CSV

    表  2  算例1演化过程计算结果

    Table  2  Evolution process calculation results of Case 1

    版本可靠性 相邻版本之差 组件关键程度 版本可靠性 相邻版本之差 组件关键程度
    $R_0$  0.87623 $R_9$  0.85580 $D_9$  0.00268 $C_9$  0.55552
    $R_1$  0.87167 $D_1$  0.00456 $C_1$  0.91264 $R_{10}$  0.85302 $D_{10}$  0.00278 $C_{10}$  0.55552
    $R_2$  0.86810 $D_2$  0.00357 $C_2$  0.73408 $R_{11}$  0.85213 $D_{11}$  0.00089 $C_{11}$  0.19840
    $R_3$  0.86671 $D_3$  0.00139 $C_3$  0.27776 $R_{12}$  0.84826 $D_{12}$  0.00387 $C_{12}$  0.79360
    $R_4$  0.86532 $D_4$  0.00139 $C_4$  0.27776 $R_{13}$  0.84409 $D_{13}$  0.00417 $C_{13}$  0.87296
    $R_5$  0.86532 $D_5$  0.00000 $C_5$  0.00000 $R_{14}$  0.84231 $D_{14}$  0.00179 $C_{14}$  0.37960
    $R_6$  0.86175 $D_6$  0.00357 $C_6$  0.73408 $R_{15}$  0.83806 $D_{15}$  0.00425 $C_{15}$  0.88330
    $R_7$  0.85868 $D_7$  0.00308 $C_7$  0.61504 $R_{16}$  0.82888 $D_{16}$  0.00918
    $R_8$  0.85848 $D_8$  0.00020 $C_8$  0.03968 $R_{17}$  0.84053 $D_{17}$  0.01165
    下载: 导出CSV

    表  3  算例2演化过程计算结果

    Table  3  Evolution process calculation results of Case 2

    版本可靠性 相邻版本之差 组件关键程度 版本可靠性 相邻版本之差 组件关键程度
    $R_0$  0.82996 $R_8$  0.78002 $D_8$  0.00690 $C_8$  0.72890
    $R_1$  0.82159 $D_1$  0.00837 $C_1$  0.83725 $R_9$  0.77697 $D_9$  0.00305 $C_9$  0.32505
    $R_2$  0.81440 $D_2$  0.00719 $C_2$  0.72890 $R_{10}$  0.76908 $D_{10}$  0.00789 $C_{10}$  0.82996
    $R_3$  0.80731 $D_3$  0.00709 $C_3$  0.72890 $R_{11}$  0.77142 $D_{11}$  0.00234
    $R_4$  0.80406 $D_4$  0.00325 $C_4$  0.33490 $R_{12}$  0.77327 $D_{12}$  0.00185
    $R_5$  0.79332 $D_5$  0.01074 $C_5$  1.11305 $R_{13}$  0.77532 $D_{13}$  0.00205
    $R_6$  0.79145 $D_6$  0.00187 $C_6$  0.19700 $R_{14}$  0.77035 $D_{14}$  0.00497
    $R_7$  0.78692 $D_7$  0.00453 $C_7$  0.48265
    下载: 导出CSV
  • [1] Barnes J M, Garlan D, Schmerl B. Evolution styles: Foundations and models for software architecture evolution. Software & Systems Modeling, 2014, 13(2): 649-678
    [2] Behnamghader P, Le D M, Garcia J, Shahbazian A, Medvidovic N. A large-scale study of architectural evolution in open-source software systems. Empirical Software Engineering, 2017, 22(3): 1146-1193 doi: 10.1007/s10664-016-9466-0
    [3] Haitzer T, Navarro E, Zdun U. Reconciling software architecture and source code in support of software evolution. Journal of Systems and Software, 2017, 123: 119-144 doi: 10.1016/j.jss.2016.10.012
    [4] Iulian N, Xie G, Chen J. Towards a better understanding of software evolution: An empirical study on open-source software. Journal of Software: Evolution and Process, 2013, 25(3): 193-218 doi: 10.1002/smr.564
    [5] Macho H J, Robles G. Preliminary lessons from a software evolution analysis of Moodle. In: Proceedings of the First International Conference on Technological Ecosystem for Enhancing Multiculturality. New York, USA: IEEE, 2013. 157-161
    [6] Macho H J, Robles G, Nakagawa E Y, Sousa E P M D, Murata K D B, Andery G. Software architecture relevance in open source software evolution: A case study. In: Proceedings of the 32nd Annual IEEE International Computer Software and Applications Conference. New York, USA: IEEE, 2008. 1234-1239
    [7] Sneed H M, Prentner W. Analyzing data on software evolution processes. In: Proceedings of Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement. New York, USA: IEEE, 2016. 1-10
    [8] Xiao G, Zheng Z, Wang H. Evolution of Linux operating system network. Physica A: Statistical Mechanics and its Applications, 2017, 466: 249-258 doi: 10.1016/j.physa.2016.09.021
    [9] Xiao G, Zheng Z, Yin B, Trivedi K S, Du X, Cai K. Experience report: fault triggers in linux operating system: from evolution perspective. In: Proceedings of the 28th International Symposium on Software Reliability Engineering. New York, USA: IEEE, 2017. 101-111
    [10] Liu B, Cui L, Si S, Wen Y. Performance measures for systems under multiple environments. IEEE/CAA Journal of Automatica Sinica, 2016, 3(1): 90-95 doi: 10.1109/JAS.2016.7373766
    [11] 张艳玲, 刘爱志, 孙长银.间接互惠与合作演化的若干问题研究进展.自动化学报, 2018, 44(1): 1-12 doi: 10.16383/j.aas.2018.c170200

    Zhang Yan-Ling, Liu Ai-Zhi, Sun Chang-Yin. Development of several studies on indirect reciprocity and the evolution of cooperation. Acta Automatica Sinica, 2018, 44(1): 1-12 doi: 10.16383/j.aas.2018.c170200
    [12] Littlewood B. Software reliability model for modular program structure. IEEE Transactions on Reliability, 1979, R-28(3): 241-246 doi: 10.1109/TR.1979.5220576
    [13] Cheung R C. A user-oriented software reliability model. IEEE Transactions on Software Engineering, 1980, SE-6(2): 118-125 doi: 10.1109/TSE.1980.234477
    [14] Laprie J C. Dependability evaluation of software systems in operation. IEEE Transactions on Software Engineering, 1984, SE-10(6): 701-714 doi: 10.1109/TSE.1984.5010299
    [15] Zheng Z, Trivedi K S, Qiu K, Xia R. Semi-markov models of composite web services for their performance, reliability and bottlenecks. IEEE Transactions on Services Computing, 2017, 10(3): 448-460 doi: 10.1109/TSC.2015.2475957
    [16] Zheng Z, Trivedi K S, Wang N, Qiu K. Markov regenerative models of webservers for their user-perceived availability and bottlenecks. IEEE Transactions on Dependable and Secure Computing, 2018, 1-1
    [17] Goyevapopstojanova K, Aditya M P, Kishor T S. Comparison of architecture-based software reliability models. In: Proceedings of the 12th International Symposium on Software Reliability Engineering. New York, USA: IEEE, 2001. 22-31
    [18] Meedeniya I, Grunske L. An efficient method for architecture-based reliability evaluation for evolving systems with changing parameters. In: Proceedings of the 21st International Symposium on Software Reliability Engineering. New York, USA: IEEE, 2010. 229-238
    [19] Diehl S. Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Berlin: Springer-Verlag, 2007.
    [20] Merino L, Ghafari M, Anslow C, Nierstrasz O. A systematic literature review of software visualization evaluation. Journal of Systems and Software, 2018, 144: 165-180 doi: 10.1016/j.jss.2018.06.027
    [21] Mahmood S, Mueller K. An exploded view paradigm to disambiguate scatterplots. Computers & Graphics, 2018, 73: 37-46
    [22] Archambault D, Purchase H C, Pinaud B. Difference map readability for dynamic graphs. Lecture Notes in Computer Science, 2010, 6502: 50-61
    [23] Legg P A, Maguire E, Walton S, Chen M. Glyph visualization: a fail-safe design scheme based on Quasi-Hamming distances. IEEE Computer Graphics & Applications, 2017, 37(2): 31-41
    [24] 赵会群, 孙晶.网构软件体系结构代数模型.中国科学:信息科学, 2013, 43(1): 161-177 https://www.cnki.com.cn/Article/CJFDTOTAL-PZKX201301010.htm

    Zhao Hui-Qun, Sun Jing. An algebraic model of Internetware software architecture. Scientia Sinica (Informationis), 2013, 43(1): 161-177 https://www.cnki.com.cn/Article/CJFDTOTAL-PZKX201301010.htm
    [25] 张捷, 陆阳, 刘广亮.基于结构分析的软件可靠性评估代数方法.系统工程与电子技术, 2015, 37(11): 2654-2662 doi: 10.3969/j.issn.1001-506X.2015.11.35

    Zhang Jie, Lu Yang, Liu Guang-Liang. Algebraic approach of software reliability estimation based on architecture analysis. Systems Engineering and Electronics, 2015, 37(11): 2654-2662 doi: 10.3969/j.issn.1001-506X.2015.11.35
    [26] Li B, Liao L, Si J. A technique to evaluate software evolution based on architecture metric. In: Proceedings of the 14th International Conference on Software Engineering Research, Management and Applications. New York, USA: IEEE, 2016. 1-8
    [27] Wang W L, Wu Y, Chen M H. An architecture-based software reliability model. In: Proceedings of the Pacific Rim International Symposium on Dependable Computing. New York, USA: IEEE, 1999. 143-150
    [28] Chen H. Analysis and comparison of reliability models based on software architecture. IEEE International Conference of Online Analysis and Computing Science. Chongqing, China, 2016.
    [29] Hsu C J, Huang C Y. An adaptive reliability analysis using path testing for complex component-based software systems. IEEE Transactions on Reliability, 2011, 60(1): 158-170 doi: 10.1109/TR.2011.2104490
  • 加载中
图(15) / 表(3)
计量
  • 文章访问数:  1026
  • HTML全文浏览量:  216
  • PDF下载量:  150
  • 被引次数: 0
出版历程
  • 收稿日期:  2018-03-14
  • 录用日期:  2018-12-12
  • 刊出日期:  2021-01-29

目录

    /

    返回文章
    返回