AI4SE_Practices/AI4SE-survey/README.md

195 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI4SE Survey - AI驱动的软件工程工具调研仓库
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](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赋能软件工程让工具选择更简单** 🚀