推荐开源项目:Code Defect AI —— 智能代码缺陷预测工具
推荐开源项目:Code Defect AI —— 智能代码缺陷预测工具codedefectaiCode Defect AI项目地址: https://gitcode.com/gh_mirrors/co/codedefecta...
·
推荐开源项目:Code Defect AI —— 智能代码缺陷预测工具
codedefectai Code Defect AI 项目地址: https://gitcode.com/gh_mirrors/co/codedefectai
项目介绍
Code Defect AI 是一款基于机器学习的代码缺陷预测工具,由 Altran 开发。它通过分析历史提交记录,预测哪些源代码文件存在较高的缺陷风险。该项目旨在帮助开发团队提前识别潜在问题,提高代码质量和开发效率。
项目技术分析
工作原理
- 数据收集:通过 RESTful 接口和 Git CLI 收集开源 GitHub 项目的完整提交历史和缺陷历史数据。
- 数据预处理:应用特征识别、标签编码、独热编码、数据缩放和归一化等技术对收集的数据进行预处理。
- 标签标注:分析修复提交(即关闭缺陷的提交)的模式,回溯历史变更以识别引入缺陷的提交。
- 数据平衡:若数据集中缺陷记录较少,生成合成数据以避免对多数类的偏见。
- 模型训练:使用多种建模算法对预处理后的数据进行训练。
- 模型部署:选择具有可接受精确度和召回率的模型,部署用于预测新提交的缺陷风险。
架构设计
Code Defect AI 在 Azure 基础设施上的最终部署包括以下组件:
- 虚拟机:用于运行代码,构建和推送 UI & API 代码镜像。
- Azure 容器注册表:存储 UI、API 和预测代码的镜像。
- Azure 容器服务:调度新提交的预测任务,并将聚合结果存储到数据库。
- 两个 Azure Web 应用:分别用于 UI 和后端 API。
- Azure MariaDB 实例:存储预测数据和聚合结果,供 UI 通过 RESTful API 访问。
- Azure 应用洞察:提供网站流量分析。
项目及技术应用场景
- 开源项目质量管理:帮助开源项目维护者提前发现潜在的代码缺陷,提升项目质量。
- 企业软件开发:在企业软件开发过程中,预测高风险代码,减少后期修复成本。
- 代码审计:辅助代码审计人员快速定位问题代码,提高审计效率。
- 持续集成/持续部署(CI/CD):集成到 CI/CD 流水线中,自动化代码质量检查。
项目特点
- 智能化预测:基于机器学习算法,准确预测代码缺陷风险。
- 自动化流程:从数据收集到模型部署,全流程自动化处理。
- 灵活部署:支持在 Azure 云平台上灵活部署,易于扩展。
- 开源许可:遵循 Apache License 2.0 开源许可,自由使用和修改。
安装/部署
Code Defect AI 运行在 Azure Web Apps 和 Azure Containers 的组合环境中,具体步骤如下:
- 数据库设置:在 Azure 上创建 MariaDB 数据库服务,下载连接证书,并在 Django 服务器配置文件中更新证书和数据库信息。
- UI 代码构建:在
ui
文件夹中执行ng build –prod
命令,构建镜像并推送到 Azure 容器服务,创建 Web 应用。 - 后端预测代码构建:在
training
文件夹中构建镜像,推送到 Azure 容器注册表,并创建容器。 - API 代码构建:在
restservices/api
文件夹中构建镜像,推送到 Azure 容器服务,创建 Web 应用。
详细安装步骤请参考 安装文档。
结语
Code Defect AI 是一款功能强大的代码缺陷预测工具,适用于各种软件开发场景。通过智能化的缺陷预测,帮助开发团队提高代码质量,降低维护成本。欢迎广大开发者试用和贡献代码,共同推动项目的持续发展!
项目许可证:Apache License, Version 2.0,详情请见 许可证文件。
codedefectai Code Defect AI 项目地址: https://gitcode.com/gh_mirrors/co/codedefectai
更多推荐
已为社区贡献1条内容
所有评论(0)