一种在持续集成中对软件进行分析的方法及装置制造方法及图纸

技术编号:36981816 阅读:15 留言:0更新日期:2023-03-25 18:01
本说明书实施例提供了一种在持续集成中对软件进行分析的方法及装置。在该方法中,存储器可以存储各版本软件的全量分析结果或增量分析结果。执行设备确定待分析的新版本软件相对于旧版本软件的代码变更记录,并基于存储器中存储的分析结果,获取旧版本软件的全量分析结果,基于代码变更记录和第一历史版本软件的全量分析结果,确定针对第一版本软件的分析结果。如果是增量分析结果,还可以利用增量分析结果确定第一历史版本的全量分析结果。析结果确定第一历史版本的全量分析结果。析结果确定第一历史版本的全量分析结果。

【技术实现步骤摘要】
一种在持续集成中对软件进行分析的方法及装置


[0001]本说明书一个或多个实施例涉及计算机
,尤其涉及一种在持续集成中对软件进行分析的方法及装置。

技术介绍

[0002]对于软件系统来说,例如企业级软件,其开发流程可以包括持续集成(Continuous Integration,CI)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)。其中,持续集成是一种软件开发实践,在软件的更新迭代过程中,开发成员经常会通过自动化的构建来集成他们的工作,以便尽快发现集成中的错误。软件的持续集成过程,是多个版本软件不断更新迭代的过程。在每次得到新版本软件之后,需要对软件进行分析,并基于分析结果对其进行测试。而在新版本软件交付之前的测试过程对软件质量的保障具有至关重要的作用。当软件系统体量庞大且复杂时,对快速更新的不同版本软件的分析将面临新的挑战。并且,企业对各自软件的隐私数据保护也越来越关注,并不会直接将软件分析交于第三方实施。
[0003]因此,希望能有改进的方案,面对体量庞大的软件系统,可以更加快速地对软件进行分析。

技术实现思路

[0004]本说明书一个或多个实施例描述了一种在持续集成中对软件进行分析的方法及装置,以在面对体量庞大的软件系统时,能够更加快速地对软件进行分析。具体的技术方案如下。
[0005]第一方面,实施例提供了一种在持续集成中对软件进行分析的方法,所述方法包括:
[0006]确定待分析的第一版本软件相对于第一历史版本软件的代码变更记录;
[0007]获取所述第一历史版本软件的全量分析结果;其中,全量分析结果是针对软件的完整分析结果;
[0008]基于所述代码变更记录和所述第一历史版本软件的全量分析结果,确定针对所述第一版本软件的分析结果。
[0009]在一种实施方式中,所述确定针对所述第一版本软件的分析结果的步骤,包括:
[0010]利用所述代码变更记录对所述第一历史版本软件的全量分析结果进行修改,确定针对所述第一版本软件的全量分析结果。
[0011]在一种实施方式中,针对多个版本软件中的任意一个,在存储器中存储该版本软件的全量分析结果或增量分析结果;增量分析结果包含该版本软件的全量分析结果相对于历史版本软件的全量分析结果的变更执行逻辑。
[0012]在一种实施方式中,所述获取所述第一历史版本软件的全量分析结果的步骤,包括:
[0013]当所述存储器中存储有所述第一历史版本软件的全量分析结果时,直接从所述存储器中读取所述第一历史版本软件的全量分析结果。
[0014]在一种实施方式中,所述获取所述第一历史版本软件的全量分析结果的步骤,包括:
[0015]当所述存储器中存储有所述第一历史版本软件的增量分析结果时,从所述存储器中读取最近的第二历史版本软件的全量分析结果,以及所述第二历史版本软件至所述第一历史版本软件之间的若干个历史版本软件分别对应的增量分析结果;
[0016]利用若干个增量分析结果以及所述第二历史版本软件的全量分析结果,确定所述第一历史版本软件的全量分析结果。
[0017]在一种实施方式中,所述确定所述第一历史版本软件的全量分析结果的步骤,包括:
[0018]按照从所述第二历史版本软件至所述第一历史版本软件的顺序,依次利用上一历史版本软件的全量分析结果与当前历史版本软件的增量分析结果的逻辑合并,确定所述当前历史版本软件的全量分析结果。
[0019]在一种实施方式中,全量分析结果中包含多个元素;所述利用上一历史版本软件的全量分析结果与当前历史版本软件的增量分析结果的逻辑合并,确定所述当前历史版本软件的全量分析结果的步骤,包括:
[0020]当所述增量分析结果的变更执行逻辑中包含针对第一元素的删除操作和增加操作时,针对所述上一历史版本软件的全量分析结果中的所述第一元素,先进行删除操作,再进行增加操作。
[0021]在一种实施方式中,所述第一历史版本软件是所述第一版本软件的上一历史版本软件。
[0022]在一种实施方式中,全量分析结果或增量分析结果间隔性地存储在所述存储器中。
[0023]在一种实施方式中,所述确定针对所述第一版本软件的分析结果的步骤,包括:
[0024]当需要确定的所述第一版本软件的分析结果是全量分析结果时,利用所述代码变更记录对所述第一历史版本软件的全量分析结果进行修改,得到所述第一版本软件的全量分析结果;
[0025]当需要确定的所述第一版本软件的分析结果是增量分析结果时,利用所述代码变更记录确定需要对所述第一历史版本软件的全量分析结果进行的修改,并基于需要进行的修改确定所述第一版本软件的增量分析结果。
[0026]在一种实施方式中,采用以下方式判断需要确定的所述第一版本软件的分析结果是否为增量分析结果:
[0027]按照预先设定的针对全量分析结果和增量分析结果的间隔规律,判断需要确定的所述第一版本软件的分析结果是否为增量分析结果;或者,
[0028]基于接收到的用于指示确定所述第一版本软件的增量分析结果或全量分析结果的指令,判断需要确定的所述第一版本软件的分析结果是否为增量分析结果。
[0029]在一种实施方式中,所述全量分析结果包括方法调用图,所述方法调用图包含代表软件中方法的点和表征软件中方法之间调用关系的边;所述代码变更记录包含对软件中
第一方法的操作执行逻辑;
[0030]所述利用所述代码变更记录确定需要对所述第一历史版本软件的全量分析结果进行的修改,并基于需要进行的修改确定所述第一版本软件的增量分析结果的步骤,包括:
[0031]从所述第一历史版本软件的全量分析结果包含的方法调用图中,确定与所述第一方法存在调用关系的第二方法;
[0032]基于所述操作执行逻辑确定对所述第二方法的变更执行逻辑,从而得到所述第一版本软件的增量分析结果。
[0033]第二方面,实施例提供了一种获取持续集成中软件分析结果的方法,其中,存储器中存储有若干个版本软件的全量分析结果或增量分析结果;全量分析结果是针对软件的完整分析结果,增量分析结果包含对应版本软件的全量分析结果相对于历史版本软件的全量分析结果的变更执行逻辑;所述方法包括:
[0034]确定待获取分析结果的第二版本软件;
[0035]当所述存储器中存储有所述第二版本软件的增量分析结果时,从所述存储器中读取最近的第三历史版本软件的全量分析结果,以及所述第三历史版本软件至所述第二版本软件之间的若干个历史版本软件分别对应的增量分析结果;
[0036]利用若干个增量分析结果以及所述第三历史版本软件的全量分析结果,确定所述第二版本软件的全量分析结果。
[0037]在一种实施方式中,所述确定所述第二版本软件的全量分析结果的步骤,包括:
[0038]按照从所述第三历史版本软件至所述第二版本软件的顺序,依次利用上一历史版本软件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在持续集成中对软件进行分析的方法,所述方法包括:确定待分析的第一版本软件相对于第一历史版本软件的代码变更记录;获取所述第一历史版本软件的全量分析结果;其中,全量分析结果是针对软件的完整分析结果;基于所述代码变更记录和所述第一历史版本软件的全量分析结果,确定针对所述第一版本软件的分析结果。2.根据权利要求1所述的方法,所述确定针对所述第一版本软件的分析结果的步骤,包括:利用所述代码变更记录对所述第一历史版本软件的全量分析结果进行修改,确定针对所述第一版本软件的全量分析结果。3.根据权利要求1所述的方法,针对多个版本软件中的任意一个,在存储器中存储该版本软件的全量分析结果或增量分析结果;增量分析结果包含该版本软件的全量分析结果相对于历史版本软件的全量分析结果的变更执行逻辑。4.根据权利要求3所述的方法,所述获取所述第一历史版本软件的全量分析结果的步骤,包括:当所述存储器中存储有所述第一历史版本软件的全量分析结果时,直接从所述存储器中读取所述第一历史版本软件的全量分析结果。5.根据权利要求3所述的方法,所述获取所述第一历史版本软件的全量分析结果的步骤,包括:当所述存储器中存储有所述第一历史版本软件的增量分析结果时,从所述存储器中读取最近的第二历史版本软件的全量分析结果,以及所述第二历史版本软件至所述第一历史版本软件之间的若干个历史版本软件分别对应的增量分析结果;利用若干个增量分析结果以及所述第二历史版本软件的全量分析结果,确定所述第一历史版本软件的全量分析结果。6.根据权利要求5所述的方法,所述确定所述第一历史版本软件的全量分析结果的步骤,包括:按照从所述第二历史版本软件至所述第一历史版本软件的顺序,依次利用上一历史版本软件的全量分析结果与当前历史版本软件的增量分析结果的逻辑合并,确定所述当前历史版本软件的全量分析结果。7.根据权利要求6所述的方法,全量分析结果中包含多个元素;所述利用上一历史版本软件的全量分析结果与当前历史版本软件的增量分析结果的逻辑合并,确定所述当前历史版本软件的全量分析结果的步骤,包括:当所述增量分析结果的变更执行逻辑中包含针对第一元素的删除操作和增加操作时,针对所述上一历史版本软件的全量分析结果中的所述第一元素,先进行删除操作,再进行增加操作。8.根据权利要求4或5所述的方法,所述第一历史版本软件是所述第一版本软件的上一历史版本软件。9.根据权利要求3所述的方法,全量分析结果或增量分析结果间隔性地存储在所述存储器中。
10.根据权利要求3所述的方法,所述确定针对所述第一版本软件的分析结果的步骤,包括:当需要确定的所述第一版本软件的分析结果是全量分析结果时,利用所述代码变更记录对所述第一历史版本软件的全量分析结果进行修改,得到所述第一版本软件的全量分析结果;当需要确定的所述第一版本软件的分析结果是增量分析结果时,利用所述代码变更记录确定需要对所述第一历史版本软件的全量分析结果进行的修改,并基于需要进行的修改确定所述第一版本软件的增量分析结果。11.根据权利要求10所述的方法,采用以下方式判断需要确定的所述第一版本软件的分析结果是否为增量分析结果:按照预先设定的针对全量分析结果和增量分析结果的间隔规律,判断需要确定的所述第一版本软件的分析结果是否为增量分析结果;或者,基于接收到的用于指示确定所述第一版本软件的增量分析结果或全量分析结果的指令,判断需要确定的所述第一版本软件的分析结果是否为增量分析结果。12.根据权利要求10所述的方法,所述全量分析结果包括方法调用图,所述方法调用图包含代表软件中方...

【专利技术属性】
技术研发人员:赵泽林徐兆桂汤震浩李永超狄鹏
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1