关于协同代码验证工作流程分析和介绍

描述

随着应用复杂度的提升,项目开发需要在更大范围内协同,即从团队扩展到企业。

以代码验证为例,代码验证的结果已经不仅仅局限于开发或者测试人员访问,其他角色也需要参与协同。如项目经理需要了解质量趋势、问题类别等项目状态;质量人员需要了解是否达到交付标准,甚至参与到问题的解决过程。

一个典型的协同流程如下:

开发人员手写代码或者从模型生成代码并提交到代码库

持续集成工具检查到代码库有更新后触发代码分析验证

代码分析验证结束后将结果上传到服务器并邮件通知相关人员

开发主管初步审查归类代码问题并推送给代码负责人解决

代码负责人(开发人员)修改代码或进行合理性声明后再次提交

项目经理查看各项目状态以把握项目进程及协调内部资源

质量人员监控问题解决过程,把关项目交付标准

服务器

图1 协同代码验证流程

以上协同流程对原有的桌面端分析验证+基于文档报告的结果共享模式提出了挑战:

桌面端分析验证难以较好地支持自动化持续集成过程,使用成本随着团队规模的扩大也会大幅增加;基于文档报告的结果共享隐藏了问题细节,无法进行跟踪管理。     

为了更好地支持企业级协同流程,Polyspace 在 2019a 进行了改版——

在保留原有桌面端产品的同时,增加了对持续集成流程支持的产品系列:

Polysapce Server 系列可安装于服务器端的代码分析和验证引擎,可以通过持续集成工具触发;

Polysapce Access 系列是基于网页技术的轻量级代码验证结果访问接口,用户无需本地安装即可通过浏览器访问与桌面端工具一样的验证结果细节并加强了项目级信息展示,内部集成 JIRA 的接口便于问题跟踪解决。

服务器

图2 网页端的验证结果概要(左)和问题细节(右)

MathWorks 开发了专门的 Jenkins 插件用于 Polyspace 代码验证和结果服务,主要功能包括:启动代码验证、上传验证结果、验证结果过滤和邮件通知等。

服务器

图3 Polyspace Jenkins插件

开发工具与管理工具的集成是大势所趋,其目的在于提升自动化程度、降低信息共享门槛,最终能满足企业对于高度协同化的需求。

服务器

图4 工具支持下的协同流程

技术资源

《保障嵌入式软件安全可靠的 7 个方法》

学习如何开发安全可靠的关键性嵌入式应用,如自动驾驶,飞控,医疗设备。使用形式化方法的静态分析,您可以证明在所有可能的控制流和数据流下,代码都没有运行时错误。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分