【技术实现步骤摘要】
使用信息检索进行源代码流分析相关申请的交叉引用本申请要求2013年5月8日提交的、印度专利申请号2053/CHE/2013的权益,通过引用将该申请完全并入于此。
技术介绍
在从事用于应用的软件维护活动时,用户可以识别该应用源代码的一部分并且研究源代码例如以修改源代码从而增加新的特征或者识别软件缺陷的原因。例如,用户可以尝试通过在该应用的类方面了解应用的结构来理解该应用。类可以表示如下数据类型:该数据类型包括具有相同的属性和行为的一组对象,并且该数据类型与其他这样的数据类型一起布置成层级。然而,取决于用户的知识,对应用的理解可能基于限于该应用类的分析而具有挑战性。附图说明通过附图中所示的示例来图示本公开内容的特征。在以下附图中,相似的附图标记表示相似的元素,其中:图1图示了根据本公开内容的示例的源代码流分析系统的架构;图2图示了根据本公开内容的示例的源代码流分析系统的聚类模块;图3图示了根据本公开内容的示例的源代码流分析系统的流优先化模块;图4图示了根据本公开内容的示例的方法交互图;图5A图示了根据本公开内容的示例的图4的方法交互图的类和功能;图5B图示了根据本公开内容的示例的假设的源代码列表;图6图示了根据本公开内容的示例的if条件;图7图示了根据本公开内容的示例的流-流矩阵;图8图示了根据本公开内容的示例的维护活动细节(MAD)-流矩阵;图9图示了根据本公开内容的示例的用于源代码流分析的方法;图10图示了根据本公开内容的示例的用于源代码流分析的方法的进一步的细节;以及图11图示了根据本公开内容的示例的计算机系统。具体实施方式为了简化和说明目的,主要通过引用示例 ...
【技术保护点】
一种源代码流分析系统,包括:存储器,所述存储器存储机器可读指令,所述机器可读指令用于:接收用于应用的源代码;从所述源代码中识别出用于所述应用的虚拟流文档,其中所述虚拟流文档表示用于所述应用的方法调用的有序序列;提取所述虚拟流文档的特征;通过估计用于所提取的特征的相似性来确定所述虚拟流文档之间的相似性以确定流‑流相似性;并且基于所述流‑流相似性对所述虚拟流文档进行聚类以有助于识别与所述应用有关的缺陷的原因;以及处理器,所述处理器用于实现所述机器可读指令。
【技术特征摘要】
2013.05.08 IN 2053/CHE/20131.一种源代码流分析系统,包括:存储器,所述存储器存储机器可读指令,所述机器可读指令用于:接收用于应用的源代码;从所述源代码中识别出用于所述应用的虚拟流文档,其中所述虚拟流文档表示用于所述应用的方法调用的有序序列;提取所述虚拟流文档的特征;通过估计用于所提取的特征的相似性来确定所述虚拟流文档之间的相似性以确定流-流相似性;并且基于所述流-流相似性对所述虚拟流文档进行聚类以有助于识别与所述应用有关的缺陷的原因;以及处理器,所述处理器用于实现所述机器可读指令。2.根据权利要求1所述的源代码流分析系统,其中为了从所述源代码中识别出用于所述应用的所述虚拟流文档,所述机器可读指令还用于:使用所述源代码生成方法交互图,其中所述方法交互图包括表示所述源代码中的方法的节点和表示所述源代码中的所述方法调用的边。3.根据权利要求2所述的源代码流分析系统,其中为了使用所述源代码生成方法交互图,所述机器可读指令还用于:通过if/switch条件来注释所述边。4.根据权利要求1所述的源代码流分析系统,其中为了提取所述虚拟流文档的所述特征,所述机器可读指令还用于:提取所述虚拟流文档中的文本特征、点和控制。5.根据权利要求4所述的源代码流分析系统,其中为了提取所述虚拟流文档的所述特征,所述机器可读指令还用于:从所述虚拟流文档中的方法定义中提取所述文本特征,并且将所提取的文本特征布置为同现矢量;从用于所述虚拟流文档中的方法名称的概念词中提取所述点;以及从所述虚拟流文档中的边的注释文本中的概念词中提取所述控制。6.根据权利要求1所述的源代码流分析系统,其中为了提取所述虚拟流文档的所述特征,所述机器可读指令还用于:提取用于所述虚拟流文档的流方向矢量,其中用于所述虚拟流文档的所述流方向矢量表示对所述虚拟流文档中的方法的全局枚举。7.根据权利要求1所述的源代码流分析系统,其中为了提取所述虚拟流文档的所述特征,所述机器可读指令还用于:提取用于所述虚拟流文档的方法出现矢量,其中用于所述虚拟流文档的所述方法出现矢量表示所述虚拟流文档中的方法。8.根据权利要求1所述的源代码流分析系统,其中为了通过估计用于所提取的特征的相似性来确定所述虚拟流文档之间的相似性以确定所述流-流相似性,所述机器可读指令还用于:通过确定所述虚拟流文档的词同现矢量的余弦相似性来确定文本相似性;通过确定交叉点的数目除以所述虚拟流文档的并集的长度来确定交叉相似性;通过确定所述虚拟流文档中的点之间的集合相似性来确定点相似性;以及通过确定所述虚拟流文档中的控制之间的集合相似性来确定控制相似性。9.根据权利要求1所述的源代码流分析系统,其中为了通过估计用于所提取的特征的相似性来确定所述虚拟流文档之间的相似性以确定所述流-流相似性,所述机器可读指令还用于:通过确定所述虚拟流文档的对应的流方向矢量之间的余弦相似性来确定流方向矢量相似性;以及通过确定所述虚拟流文档的对应的方法出现矢量之间的余弦相似性来确定方法出现矢量相似性。10.根据权利要求1所述的源代码流分析系统,还包括用于确定每对所述虚拟流文档之间的组合相似性的机器可读指令。11.根据权利要求1所述的源代码流分析系统,其中为了基于所述流-流相似性对所述虚拟流文档进行聚类,所述机器可读指令还用于:通过使用包括预定组合相似性评分的方法交互图的边执行连接部件处理来生成初始聚类;使用模块...
【专利技术属性】
技术研发人员:A·科姆,V·S·考尔古德,S·森格普塔,
申请(专利权)人:埃森哲环球服务有限公司,
类型:发明
国别省市:爱尔兰;IE
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。