计算机科学与探索 ›› 2017, Vol. 11 ›› Issue (2): 212-220.DOI: 10.3778/j.issn.1673-9418.1512105
柳 郁1,孙小兵1,2+,李 斌1,2
LIU Yu1, SUN Xiaobing1,2+, LI Bin1,2
摘要: 程序理解是从软件程序中获得抽象在程序中的功能和知识的过程,对软件维护有着重要的意义。研究表明,软件维护消耗了软件预算的50%到80%,而其中大概47%到62%的维护时间用于对软件系统的理解上。提出了一种面向Java程序的包概要方法,尝试从软件的语义层次出发,利用信息索引领域的潜在语义分析和数据挖掘领域的聚类算法对软件程序中的语义信息进行提取分析。对相似词汇的代码文件进行聚类,并从中提取话题对Java程序中的包进行刻画;对这些话题进行语义恢复,并利用MiniPar,一个英文词法分析器,来辅助生成程序中包的概要信息。实验结果表明该方法能够改进程序理解的效率。