推荐开源项目:Code Defect AI —— 智能代码缺陷预测工具

codedefectai Code Defect AI codedefectai 项目地址: https://gitcode.com/gh_mirrors/co/codedefectai

项目介绍

Code Defect AI 是一款基于机器学习的代码缺陷预测工具,由 Altran 开发。它通过分析历史提交记录,预测哪些源代码文件存在较高的缺陷风险。该项目旨在帮助开发团队提前识别潜在问题,提高代码质量和开发效率。

项目技术分析

工作原理

  1. 数据收集:通过 RESTful 接口和 Git CLI 收集开源 GitHub 项目的完整提交历史和缺陷历史数据。
  2. 数据预处理:应用特征识别、标签编码、独热编码、数据缩放和归一化等技术对收集的数据进行预处理。
  3. 标签标注:分析修复提交(即关闭缺陷的提交)的模式,回溯历史变更以识别引入缺陷的提交。
  4. 数据平衡:若数据集中缺陷记录较少,生成合成数据以避免对多数类的偏见。
  5. 模型训练:使用多种建模算法对预处理后的数据进行训练。
  6. 模型部署:选择具有可接受精确度和召回率的模型,部署用于预测新提交的缺陷风险。

架构设计

Code Defect AI 在 Azure 基础设施上的最终部署包括以下组件:

  • 虚拟机:用于运行代码,构建和推送 UI & API 代码镜像。
  • Azure 容器注册表:存储 UI、API 和预测代码的镜像。
  • Azure 容器服务:调度新提交的预测任务,并将聚合结果存储到数据库。
  • 两个 Azure Web 应用:分别用于 UI 和后端 API。
  • Azure MariaDB 实例:存储预测数据和聚合结果,供 UI 通过 RESTful API 访问。
  • Azure 应用洞察:提供网站流量分析。

Code Defect AI 架构

项目及技术应用场景

  1. 开源项目质量管理:帮助开源项目维护者提前发现潜在的代码缺陷,提升项目质量。
  2. 企业软件开发:在企业软件开发过程中,预测高风险代码,减少后期修复成本。
  3. 代码审计:辅助代码审计人员快速定位问题代码,提高审计效率。
  4. 持续集成/持续部署(CI/CD):集成到 CI/CD 流水线中,自动化代码质量检查。

项目特点

  1. 智能化预测:基于机器学习算法,准确预测代码缺陷风险。
  2. 自动化流程:从数据收集到模型部署,全流程自动化处理。
  3. 灵活部署:支持在 Azure 云平台上灵活部署,易于扩展。
  4. 开源许可:遵循 Apache License 2.0 开源许可,自由使用和修改。

安装/部署

Code Defect AI 运行在 Azure Web Apps 和 Azure Containers 的组合环境中,具体步骤如下:

  1. 数据库设置:在 Azure 上创建 MariaDB 数据库服务,下载连接证书,并在 Django 服务器配置文件中更新证书和数据库信息。
  2. UI 代码构建:在 ui 文件夹中执行 ng build –prod 命令,构建镜像并推送到 Azure 容器服务,创建 Web 应用。
  3. 后端预测代码构建:在 training 文件夹中构建镜像,推送到 Azure 容器注册表,并创建容器。
  4. API 代码构建:在 restservices/api 文件夹中构建镜像,推送到 Azure 容器服务,创建 Web 应用。

详细安装步骤请参考 安装文档

结语

Code Defect AI 是一款功能强大的代码缺陷预测工具,适用于各种软件开发场景。通过智能化的缺陷预测,帮助开发团队提高代码质量,降低维护成本。欢迎广大开发者试用和贡献代码,共同推动项目的持续发展!


项目许可证:Apache License, Version 2.0,详情请见 许可证文件

codedefectai Code Defect AI codedefectai 项目地址: https://gitcode.com/gh_mirrors/co/codedefectai

更多推荐