Today’s software has grown rapidly, almost all lines of life currently use software, ranging from industry to households. Software is an instruction or computer program which when executed produces features, functions and performance as expected, besides that it also consists of a data structure so that a program can produce sufficient information, and must consist of information either in the form of softcopy or hardcopy which explains operation and use of the program. Therefore it can be concluded that the software is an integral part of the program, data, and documentation.
Software quality began to be noticed at the end of the year along with increasingly complex software and high expectations from customers. Software quality seems to have become an important part of software development. Quality software is software that can meet the needs or software that can meet the wishes or expectations of customers. Even now there is an international standard for evaluating software quality, namely ISO 25000.
To produce quality software, the testing phase plays an important role. The testing phase is one of the stages of the software development life cycle. The testing phase is needed to produce software that is truly in accordance with the wishes or expectations of the customer. The results in the testing phase, the software will be grouped into two categories, namely software that is defective and software that is not flawed.
Defective software is software that is error, failed, or wrong, where the software will produce something that is not in accordance with the wishes. The cost of finding and repairing defects in software reaches 80% of the total cost of software development. Repairing software that is defective after release costs 100 times more than when developing, so it is important to find software defects during development so that software defects can be repaired before they are released.
Currently the usual software testing method can only find 60% of the total defects. With the development of science in machine learning, there are many well-known classification methods to help in the testing phase, so that the software tested can be classified into two, namely defects and non-defects. The method for classifying software into defects and not defects is known as software defect prediction. This software defect prediction is one example of implementation of data mining.