Unit 15 — AI-Assisted Software Engineering¶
Learning objectives¶
- Identify software engineering activities that can be accelerated by foundation models.
- Explain new assurance risks introduced by generated code and natural-language artifacts.
- Design human-and-tool workflows that preserve verification and accountability.
Where AI can assist¶
- Requirement clarification and example generation.
- Code completion and transformation.
- Test-case brainstorming and test generation.
- Documentation and code summarization.
- Review suggestions and defect localization.
- Migration and repetitive maintenance tasks.
New failure modes¶
Generated artifacts may be plausible but incorrect, insecure, inconsistent with the repository, based on outdated APIs, or impossible to trace to a trustworthy source. Automation can also increase the volume of change, making review and verification capacity the bottleneck.
Assurance-oriented workflow¶
flowchart LR
P[Prompt / Task] --> G[Generated candidate]
G --> R[Human + automated review]
R --> T[Tests / static / security checks]
T -->|pass| M[Merge with traceability]
T -->|fail| P
Principle¶
AI assistance should reduce low-value effort while increasing—not decreasing—the importance of testability, reviewability, provenance, security, and independent verification.
Final discussion
If code generation becomes extremely cheap, which software engineering activities become more valuable rather than less valuable?