|
Relational database in 1972 after the birth, database technology has made rapid development. With the extensive application of the database management system, people's ability to collect data has been a huge increase, the accumulated data is also increasing. These vast amounts of data in a number of important lurks, interesting information. However, these hidden in the massive data interesting information is hard to find people, so many researchers are studying how this massive data source for interesting information quickly and efficiently. As traditional statistical analysis methods have been not able to meet current needs, so data mining techniques have come into being. Data Mining (Data Mining) is the field of artificial intelligence and database currently a hot research has aroused the concern of a large number of scholars and experts. Data mining has many features, such as correlation analysis, cluster analysis, exception analysis, etc., relating to the application of technology is very mature. Using these sophisticated data mining technology [1] study software engineering data is the main research content. A software project in its cycle which will generate a lot of data (such as documents, source code, code libraries, configuration files, etc.), of course, these data also hides a lot of useful information. This information can help programmers find the code exists but does not appear in the current system, the potential bug, better modular system, refactoring legacy systems, as well as to increase system stability, robustness and reliability. Software Engineering Data Mining in progress by many years the attention of scholars, they also made a number of algorithms help programmers better understand the software data. This thesis work is mainly composed of the following elements: (1) data mining and software data mode Mining. The current major application of data mining techniques and a brief description, and then from a software engineering point of view, respectively, from the requirements, documentation, development, testing, maintenance and other five aspects of data mining techniques described in the software engineering. Including all aspects of classical algorithms, as well as more challenging future problems and so on. (2) when the system is running an interesting mode of operation research. Software system at run-time will produce a lot of running log that records all actions generated by the system, such as user operation history, error messages, etc., and in accordance with a specification expression. System maintenance personnel can use these logs (such as bug fixes, load balancing, etc.) to maintain the system. Our collection system at runtime logs generated operating procedures, the use of data mining techniques analyze these logs to find interesting knowledge. In this section will discuss how data mining techniques discovered from a running log of interesting knowledge. (3) software to modify the patterns found in historical data and software code (software repositories) bug detection technology. With the development of information technology, software systems are becoming increasingly large amount of code spiral growth, which the bug and error process is the emergence of non-avoidable, the bug and error not only increases the difficulty of maintaining, also increased the software the cost of spending. Software developers for software maintenance, it will often be the case: Because of dependencies between modules, to modify the software in a small module, usually need to modify the associated modules, this dependence is difficult to use traditional dynamic or static analysis techniques [2] were detected. In this paper, data mining techniques to study the history of the software to modify the pattern, that is often found in those with modified code. These patterns can help software developers find dependencies between modules through these dependencies to detect potential code bug. When software developers software code somewhere when changes (assuming perform a maintenance task), our method can effectively provide and maintain information about this other code, that software revision history mode. (4) Finally, this paper summarizes the work done, including the innovation of this paper, inadequate, and further work on this outlook.
|