摘要
程序理解是测试和维护大规模面向对象程序的关键,选择程序的关键类优先开展分析是理解程序结构的一个有效的方法.为支持自动识别软件系统中的关键类,本文提出了一种基于UIO序列的类重要性度量方法.首先将软件系统抽象为一个以类为转换的有限自动机模型,随后求解该自动机的UIO序列,将该序列集合转化为状态转换树.通过递归计算状态转换树的节点复杂度求得类重要度.并在考虑异常传播的基础上改进了算法.最后通过实验验证了算法的有效性.
Program comprehension is the key to provide insight into large scale object-oriented programs in the testing and maintenance activities.It’s a reasonable way to select and start with the key classes.To identify the key classes in a system automat-ically,we propose a technique to measure the importance of each class based on Unique Input/Output sequence.Firstly,we abstract the software system as a finite state machine model,and then we compute the Unique Input/Output sequence of the finite state ma-chine and converse the Unique Input/Output sequence to a state transform tree by a proposed algorithm.Finally,we traverse the state transform tree to calculate the importance of the classes.The case studies show the effectiveness of our technique.
出处
《电子学报》
EI
CAS
CSCD
北大核心
2015年第10期2062-2068,共7页
Acta Electronica Sinica
基金
国家自然科学基金(No.61202006
No.60970032)
江苏省333工程
江苏省高校自然科学研究(No.12KJB520014)
江苏省研究生创新工程(No.CXZZ12_0935)
南通市应用研究计划(No.BK2012023)
关键词
关键类
有限状态机
UIO
序列
程序理解
key classes
finite state machine
UIO sequence
program comprehension