在此页:
绪论与方法论
这个页面提供了关于升级到CAST AIP的新版本如何影响测量结果的真实数据。
选择供参考的应用是真实的客户应用,匿名化,只提供相关的语言和框架。分别在CAST AIP 7.3、8.0和8.1中运行应用分析,然后将配置升级到CAST AIP 8.1,再次分析并比较几个关键指标的结果。任何显著的差异都将被调查并修复,以防是一个bug。如果差异是名义上的(质量模型的变化,删除误报/漏报),其理由显而易见。
注意:
- CAST AIP 7.3/8.0/8.1版本通常是测试时可用的最新服务包。以防在不同的分析结果中产生差异(因为在服务包中引入了补丁),它将在理由中提到。
- 未对低于1%的变化进行系统分析。
应用 1 (JEE, C#, C++ , Informix, WSDL, Shell)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
7.3 | 383 | 不相关 | 不相关 | 499 | 168 |
8.0.3 | 393 | 729 | 2.55 | 499 | 182 |
8.1.1 | 393 | 729 | 2.55 | 499 | 182 |
8.2.0 | 393 | 770 | 2.54 | 499 | 182 |
8.3.0 |
变异分析
规模
自8.0以来没有变化。
LOC在CAST AIP 7.3和CAST AIP 8.0之间的变化是由8.0 .NET 分析器考虑生成代码的方式变化引起的。
质量
由于JEE规则“避免使用来自其它类的字段(非静态终结)”的改进,8.2中关键违规的数量发生了变化。
由于没有使用默认的AIP评估模型进行分析,7.3中的图认为是不相关的。
功能点
自8.0以来没有变化。
应用 2 (PL/SQL, JEE, FLEX, SHELL, TIBCO, WSDL)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
7.3 | 2193 | 6066 | 2.4 | 1080 | 4427 |
8.0 | 2289 | 6147 | 2.14 | 1080 | 2065 |
8.1.1 | 2193 | 4893 | 2.33 | 1078 | 1977 |
8.2.0 | 2193 | 8213 | 2.27 | 1083 | 1978 |
8.3.0 |
变异分析
规模
LoC计数在CAST AIP 8.0到CAST AIP 8.1之间的变化是由外部JS库修复方才生效。在以前的版本中,它们包含在行计数中,而实际上它们不应该包含在行计数中。
质量
在CAST AIP 8.0和CAST AIP 8.1.1之间的严重违反是由规则“避免使用来自其它类的字段(非静态终结)”中的修复引起的 在对该应用进行了CAST AIP 8.0测量之后,CAST AIP 8.0.2版本中引入了这个修复。
在CAST AIP 8.1.1和CAST AIP 8.2.0之间的关键违规变化是由于规则“避免直接实例化作为托管Bean使用的类”的改进,以便将其扩展到Spring框架之外的其它托管Bean类型。
功能点
在CAST AIP 8.1.1和CAST AIP 8.2.0之间更改之前的数据功能点会导致修复一个问题,在某些情况下,一些DB表可以包含在几个数据功能中,根据OMG规范,这是不正确的。这个修复将包含在CAST AIP 8.1.2中。
应用 3 (JEE, Oracle, Mainframe, C, Shell)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
8.0 | 824 | 4662 | 2.36 | 295 | 2130 |
8.1.1 | 825 | 4662 | 2.35 | 291 | 2170 |
8.2.0 | 825 | 4641 | 2.37 | 291 | 2425 |
8.3.0 |
变异分析
规模
没有变化。
质量
仍然需要分析CAST AIP 8.1到CAST AIP 8.2之间严重违规数量的微小变化。
功能点
在CAST AIP 8.0到CAST AIP 8.1之间,数据功能点数量的减少是由安装在测试配置上的DMT插件中的bug引起的,而不是分析过程中的更改。
在CAST AIP 8.1到CAST AIP 8.2之间,事务功能点数量的增加是由于修复导致Struts对象丢失和事务丢失的bug。
应用 4 (JEE, PL/SQL)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
8.1.1 | 27 | 516 | 2.44 | 189 | 582 |
8.2.0 | 27 | 513 | 2.45 | 189 | 582 |
8.3.0 |
变异分析
规模
没有变化。
质量
没有明显的变化。
功能点
没有变化。
应用 5 (ABAP, SAP SQL)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
7.3 | 227 | 不相关 | 不相关 | 379 | 281 |
8.0 | 227 | 1838 | 2.67 | 379 | 281 |
8.1.1 | 227 | 1469 | 2.64 | 379 | 281 |
8.2.0 | 227 | 1469 | 2.67 | 379 | 281 |
8.3.0 |
变异分析
规模
没有变化。
质量
由于没有使用默认的AIP评估模型进行分析,CAST AIP 7.3中认为是不相关的。
CAST AIP 8.0和CAST AIP 8.1之间的更改链接到以下两个补丁:
- “避免在循环中使用SQL查询——7424”:该规则不再支持SAP分析。它与“避免在循环中打开SQL查询——7868”是多余的。更改是在服务包CAST AIP 7.3.7中完成的,但在本测试中使用的CAST AIP 7.3/8.0版本中不存在。
- “避免在其他人使用CASE语句时遗漏——7518”在CAST AIP 8.1中不再重要。这样做是为了与其它语言中的类似规则保持一致。
功能点
没有变化。
应用 6 (C#, PL/SQL)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
8.0 | 88 | 395 | 3.21 | 741 | 84 |
8.1.0 | 88 | 396 | 3.21 | 741 | 84 |
8.3.0 |
变异分析
规模
没有变化。
质量
没有明显的变化。
功能点
没有变化。
应用 7 (VB .NET/ASP.NET, C#, MicrosoftT-SQL)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
8.1.1 | 2009 | 9793 | 2.31 | 3872 | 3808 |
8.2.0 | 2009 | 9793 | 2.31 | 3936 | 3824 |
8.3.0 |
变异分析
规模
没有变化。
质量
没有变化。
功能点
在CAST AIP 8.1.1和CAST AIP 8.2.0之间的功能点的变化导致了一个问题的修复,在某些情况下,一些DB表可以包含在几个数据功能中,根据OMG规范,这是不正确的。这个修复将包含在CAST AIP 8.1.2中。
应用 8 (C++, PHP)
主要指标
AIP 版本 | 规模 (kLOC) | 严重违规 | 综合质量指数 | 数据功能点 | 事务功能点 |
---|---|---|---|---|---|
8.1.1 | 335 | 594 | 3.07 | 241 | 860 |
8.2.0 | 335 | 594 | 3.07 | 241 | 860 |
8.3.0 |
变异分析
规模
没有变化。
质量
没有变化。
功能点
没有变化。