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 条
[11]  
BHANSALI S, 1993, MACH LEARN, V10, P7
[12]  
Binder R. V., 1992, International Journal on Artificial Intelligence Tools (Architectures, Languages, Algorithms), V1, P503, DOI 10.1142/S021821309200003X
[13]   Requirements that handle IKIWISI, COTs, and rapid change [J].
Boehm, B .
COMPUTER, 2000, 33 (07) :99-102
[14]   APPLICATIONS OF INDUCTIVE LOGIC PROGRAMMING [J].
BRATKO, I ;
MUGGLETON, S .
COMMUNICATIONS OF THE ACM, 1995, 38 (11) :65-70
[15]  
BRATKO I, 1993, AI TECHNIQUES INFORM
[16]  
Briand L. C., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P313, DOI 10.1109/ICSE.1999.841022
[17]   A PATTERN-RECOGNITION APPROACH FOR SOFTWARE ENGINEERING DATA-ANALYSIS [J].
BRIAND, LC ;
BASILI, VR ;
THOMAS, WM .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (11) :931-942
[18]   DEVELOPING INTERPRETABLE MODELS WITH OPTIMIZED SET REDUCTION FOR IDENTIFYING HIGH-RISK SOFTWARE COMPONENTS [J].
BRIAND, LC ;
BASILI, VR ;
HETMANSKI, CJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1993, 19 (11) :1028-1044
[19]  
Brooks F., 1995, MYTHICAL MAN MONTH