forked from Kexing/AI4SE_Practices
195 lines
7.4 KiB
Markdown
195 lines
7.4 KiB
Markdown
# AI4SE Survey - AI驱动的软件工程工具调研仓库
|
||
|
||
[](https://opensource.org/licenses/MIT)
|
||
[](http://makeapullrequest.com)
|
||
|
||
> **AI4SE (AI for Software Engineering)** 实测对比库 + 快速上手手册
|
||
> 聚焦“真实场景测试+客观数据支撑+无门槛复用”,成为开发者选型AI软件工程工具的“风向标”
|
||
|
||
## 📋 仓库定位
|
||
|
||
本仓库系统性地调研和测试**AI驱动的软件工程工具**,涵盖软件工程全生命周期(需求分析→架构设计→编码开发→测试调试→代码审查→文档生成→项目管理→DevOps),通过标准化的实测方法,为开发者、技术负责人、研究人员提供:
|
||
|
||
- ✅ **实测对比**:每个工具都附带可复现的测试步骤、原始输出、人工评估
|
||
- ✅ **客观数据**:基于统一测试任务和量化指标,避免主观臆断
|
||
- ✅ **选型指南**:按场景推荐合适的工具,降低选型成本
|
||
- ✅ **快速上手**:提供详细的安装配置和使用教程
|
||
|
||
## 🎯 核心价值
|
||
|
||
1. **覆盖全面**:涵盖软件工程全生命周期各阶段的AI工具
|
||
2. **测试可复现**:统一的测试环境、标准化的测试任务和评估指标
|
||
3. **结果客观**:基于实测数据,而非功能罗列或营销宣传
|
||
4. **持续更新**:跟踪工具迭代,定期更新测试结果
|
||
|
||
## 🚀 快速导航
|
||
|
||
- **[工具列表](./SUMMARY.md#工具分类)** - 按功能分类浏览所有工具
|
||
- **[测试标准](./test-standards/test-flow.md)** - 了解测试方法和评估指标
|
||
- **[对比分析](./comparisons/tool-comparison-table.md)** - 查看工具对比表
|
||
- **[选型指南](./comparisons/scenario-based-guide.md)** - 按场景选择合适工具
|
||
- **[贡献指南](./CONTRIBUTING.md)** - 参与仓库建设
|
||
|
||
## 📂 仓库结构
|
||
|
||
```
|
||
AI4SE-survey/
|
||
├── README.md # 本文件:仓库总览
|
||
├── SUMMARY.md # 目录索引:快速跳转
|
||
├── CHANGELOG.md # 版本更新记录
|
||
├── CONTRIBUTING.md # 贡献指南
|
||
│
|
||
├── api/ # API服务目录
|
||
│ ├── main.py # FastAPI应用入口
|
||
│ ├── routers/ # API路由
|
||
│ ├── schemas/ # Pydantic数据模型
|
||
│ └── services/ # 服务层
|
||
│
|
||
├── tools/ # 工具详情目录(按软件工程生命周期分类)
|
||
│ ├── requirements-analysis/ # 需求分析类工具
|
||
│ ├── architecture-design/ # 架构设计类工具
|
||
│ ├── code-generation/ # 代码生成类工具
|
||
│ ├── debugging/ # 调试排障类工具
|
||
│ ├── refactoring/ # 代码重构类工具
|
||
│ ├── test-generation/ # 测试生成类工具
|
||
│ ├── documentation/ # 文档生成类工具
|
||
│ ├── code-review/ # 代码审查类工具
|
||
│ ├── project-management/ # 项目管理类工具
|
||
│ ├── devops-ci-cd/ # DevOps/CI-CD类工具
|
||
│ ├── local-models/ # 本地化大模型工具
|
||
│ ├── full-flow/ # 全流程集成工具
|
||
│ └── tool-template/ # 工具详情模板
|
||
│
|
||
├── test-standards/ # 测试标准目录
|
||
│ ├── test-tasks/ # 统一测试任务
|
||
│ ├── metrics/ # 测试指标定义
|
||
│ ├── environment/ # 测试环境配置
|
||
│ └── test-flow.md # 测试流程规范
|
||
│
|
||
├── comparisons/ # 对比分析目录
|
||
│ ├── tool-comparison-table.md # 工具对比表
|
||
│ ├── scenario-based-guide.md # 场景选型指南
|
||
│ └── open-vs-closed.md # 开源vs闭源对比
|
||
│
|
||
└── resources/ # 资源拓展目录
|
||
├── learning-paths.md # 学习路径
|
||
├── common-issues.md # 常见问题
|
||
├── trend-analysis.md # 趋势分析
|
||
└── related-repos.md # 相关资源
|
||
```
|
||
|
||
## 🌐 API服务
|
||
|
||
本仓库提供一套基于FastAPI的API,用于查询和管理工具信息及测试结果。
|
||
|
||
### 功能特性
|
||
|
||
- ✅ 工具信息管理(查看、搜索、筛选)
|
||
- ✅ 测试任务管理
|
||
- ✅ 测试结果管理(创建、更新、查询)
|
||
- ✅ RESTful API接口
|
||
- ✅ 自动API文档(Swagger UI)
|
||
|
||
### 快速开始
|
||
|
||
0. **创建并激活虚拟环境**
|
||
```bash
|
||
python -m venv venv
|
||
source venv/bin/activate # macOS/Linux
|
||
# 或
|
||
venv\Scripts\activate # Windows
|
||
```
|
||
|
||
1. **安装依赖**:
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
2. **启动服务**:
|
||
```bash
|
||
python run.py
|
||
```
|
||
3. **访问API文档**:
|
||
启动服务后,访问 [http://localhost:8000/docs](http://localhost:8000/docs)
|
||
|
||
更多详情,如API接口说明、项目结构、部署方法等,请参阅 [`api/README.md`](./api/README.md)。
|
||
|
||
## 🔍 工具分类
|
||
|
||
### 1. 需求分析类
|
||
AI辅助需求提取、需求分析、用户故事生成等
|
||
|
||
### 2. 架构设计类
|
||
AI辅助系统架构设计、技术选型、设计模式应用等
|
||
|
||
### 3. 代码生成类
|
||
AI生成代码片段、完整文件、API接口等(如GitHub Copilot、CodeLlama)
|
||
|
||
### 4. 调试排障类
|
||
AI辅助定位bug、提供修复方案、性能分析等
|
||
|
||
### 5. 代码重构类
|
||
AI辅助优化代码结构、提升性能/可读性、消除技术债务等
|
||
|
||
### 6. 测试生成类
|
||
AI自动生成单元测试、接口测试、集成测试用例等
|
||
|
||
### 7. 文档生成类
|
||
AI根据代码生成注释、API文档、技术方案等
|
||
|
||
### 8. 代码审查类
|
||
AI辅助代码审查、安全漏洞检测、代码规范检查等
|
||
|
||
### 9. 项目管理类
|
||
AI辅助项目计划、任务分解、进度跟踪、风险识别等
|
||
|
||
### 10. DevOps/CI-CD类
|
||
AI辅助持续集成、部署自动化、监控告警等
|
||
|
||
### 11. 本地化大模型类
|
||
可本地部署的开发辅助大模型(如CodeLlama、Qwen-Coder)
|
||
|
||
### 12. 全流程集成类
|
||
覆盖软件工程全生命周期的端到端工具(如Cursor、CodeLens)
|
||
|
||
## 📊 测试方法
|
||
|
||
所有工具的测试均遵循统一的测试标准:
|
||
|
||
- **统一测试环境**:固定IDE版本、编程语言版本、系统环境
|
||
- **标准测试任务**:覆盖不同复杂度的典型软件工程任务
|
||
- **量化评估指标**:效率指标(开发耗时)、质量指标(代码正确率、测试通过率)、易用性指标(学习曲线)等
|
||
- **可复现流程**:详细的测试步骤记录,支持读者复现
|
||
|
||
详见 [测试标准文档](./test-standards/test-flow.md)
|
||
|
||
## 🤝 如何贡献
|
||
|
||
我们欢迎社区贡献!您可以:
|
||
|
||
- 🔧 提交新工具的测试结果
|
||
- 📝 补充或更新现有工具的测试
|
||
- 🐛 报告问题或提出改进建议
|
||
- 📚 完善文档和教程
|
||
|
||
详见 [贡献指南](./CONTRIBUTING.md)
|
||
|
||
## 📅 更新计划
|
||
|
||
- **2025年11月**:完成仓库初始化,建立核心框架和测试标准
|
||
- **2025年Q1**:完成10-15个代表性工具的测试(覆盖所有分类)
|
||
- **持续更新**:每3-6个月更新一次,同步工具最新版本和测试结果
|
||
|
||
详见 [更新日志](./CHANGELOG.md)
|
||
|
||
## 📄 许可证
|
||
|
||
本项目采用 [MIT License](./LICENSE) 许可证。
|
||
|
||
## 🙏 致谢
|
||
|
||
感谢所有贡献者和工具开发者对AI驱动的软件工程领域的探索和贡献。
|
||
|
||
---
|
||
|
||
**让AI赋能软件工程,让工具选择更简单!** 🚀
|