随着应用复杂度的提升,项目开发需要在更大范围内协同,即从团队扩展到企业。
以代码验证为例,代码验证的结果已经不仅仅局限于开发或者测试人员访问,其他角色也需要参与协同。如项目经理需要了解质量趋势、问题类别等项目状态;质量人员需要了解是否达到交付标准,甚至参与到问题的解决过程。
一个典型的协同流程如下:
开发人员手写代码或者从模型生成代码并提交到代码库
持续集成工具检查到代码库有更新后触发代码分析验证
代码分析验证结束后将结果上传到服务器并邮件通知相关人员
开发主管初步审查归类代码问题并推送给代码负责人解决
代码负责人(开发人员)修改代码或进行合理性声明后再次提交
项目经理查看各项目状态以把握项目进程及协调内部资源
质量人员监控问题解决过程,把关项目交付标准

图1 协同代码验证流程
以上协同流程对原有的桌面端分析验证+基于文档报告的结果共享模式提出了挑战:
桌面端分析验证难以较好地支持自动化持续集成过程,使用成本随着团队规模的扩大也会大幅增加;基于文档报告的结果共享隐藏了问题细节,无法进行跟踪管理。
为了更好地支持企业级协同流程,Polyspace 在 2019a 进行了改版——
在保留原有桌面端产品的同时,增加了对持续集成流程支持的产品系列:
Polysapce Server 系列可安装于服务器端的代码分析和验证引擎,可以通过持续集成工具触发;
Polysapce Access 系列是基于网页技术的轻量级代码验证结果访问接口,用户无需本地安装即可通过浏览器访问与桌面端工具一样的验证结果细节并加强了项目级信息展示,内部集成 JIRA 的接口便于问题跟踪解决。

图2 网页端的验证结果概要(左)和问题细节(右)
MathWorks 开发了专门的 Jenkins 插件用于 Polyspace 代码验证和结果服务,主要功能包括:启动代码验证、上传验证结果、验证结果过滤和邮件通知等。

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

图4 工具支持下的协同流程
技术资源
《保障嵌入式软件安全可靠的 7 个方法》
学习如何开发安全可靠的关键性嵌入式应用,如自动驾驶,飞控,医疗设备。使用形式化方法的静态分析,您可以证明在所有可能的控制流和数据流下,代码都没有运行时错误。
-
服务器
+关注
关注
13文章
10094浏览量
90869 -
自动化
+关注
关注
30文章
5886浏览量
89172 -
数据流
+关注
关注
0文章
129浏览量
15653
发布评论请先 登录
强强合作 西门子与日月光合作开发 VIPack 先进封装平台工作流程
ADI Power Studio工作流程与工具概述
恩智浦i.MX RT1180跨界MCU驱动EtherCAT的工作流程
【产品介绍】Altair SimLab可连接CAD的多物理场工作流
非技术人员如何用n8n + DeepSeek打造AI自动化工作流?
NX CAD软件:数字化工作流程解决方案(CAD工作流程)
AI工作流自动化是做什么的
使用pdfDocs提高工作效率,改进PDF工作流程

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