随着软件系统规模和复杂性的增长,软件开发已演变成复杂的系统工程。软件工程中的对象、活动和过程越来越难以控制和管理,传统经验型处理模式已不适应新需求。数据挖掘技术的引入为实现智能化软件工程提供了重要机会。主要以软件工程中的数据对象为核心,系统介绍和归纳了在程序代码分析、故障检测、软件项目管理及开源软件开发等方面应用的数据挖掘技术,并对各方法进行了比较分析。最后探讨了未来研究的方向。