Machine learning and software engineering

被引:100
作者
Zhang, D [1 ]
Tsai, JJP
机构
[1] Calif State Univ Sacramento, Dept Comp Sci, Sacramento, CA 95819 USA
[2] Univ Illinois, Dept Comp Sci, Chicago, IL 60607 USA
关键词
machine learning; software engineering; learning algorithms;
D O I
10.1023/A:1023760326768
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Machine learning deals with the issue of how to build programs that improve their performance at some task through experience. Machine learning algorithms have proven to be of great practical value in a variety of application domains. They are particularly useful for ( a) poorly understood problem domains where little knowledge exists for the humans to develop effective algorithms; ( b) domains where there are large databases containing valuable implicit regularities to be discovered; or ( c) domains where programs must adapt to changing conditions. Not surprisingly, the field of software engineering turns out to be a fertile ground where many software development and maintenance tasks could be formulated as learning problems and approached in terms of learning algorithms. This paper deals with the subject of applying machine learning in software engineering. In the paper, we first provide the characteristics and applicability of some frequently utilized machine learning algorithms. We then summarize and analyze the existing work and discuss some general issues in this niche area. Finally we offer some guidelines on applying machine learning methods to software engineering tasks and use some software development and maintenance tasks as examples to show how they can be formulated as learning problems and approached in terms of learning algorithms.
引用
收藏
页码:87 / 119
页数:33
相关论文
共 103 条
[1]   Identifying objects in procedural programs using clustering neural networks [J].
Abd-El-Hafiz S.K. .
Automated Software Engineering, 2000, 7 (03) :239-261
[2]  
AHA D, MACHINE LEARNING RES
[3]  
AHA D, CASE BASED REASONING
[4]  
[Anonymous], SOFTWARE ENG
[5]  
[Anonymous], 1999, Reinforcement learning: An introduction
[6]  
[Anonymous], READINGS ARTIFICIAL
[7]  
Bailin S. C., 1991, P 6 INT C KNOWLEDGE, P198
[8]   Characterizing and modeling the cost of rework in a library of reusable software components [J].
Basili, VR ;
Condon, SE ;
ElEmam, K ;
Hendrick, RB ;
Melo, W .
PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1997, :282-291
[9]  
Bergadano F., 1996, ACM Transactions on Software Engineering and Methodology, V5, P119, DOI 10.1145/227607.227611
[10]  
BERGADANO F, 1995, INDUCTIVE LOGIC PROG