Innovative Information Technology

Innovitech kft.

JavaFitter - Creating an automated quality assurance service with refactoring solutions

Brief summary:

Methods related to quality assurance of IT systems are gaining increasing importance and attention, not only in the IT industry, but also in other segments of the economy. This can be explained by the unstable IT solution on the user side, producing significant damage and creating a competitive disadvantage, due to increase in costs and the inability to respond appropriately to the market situation. Therefore, the quality assurance of IT systems is of vital importance for the national economy’s competitiveness.

With respect to source code checks, a wide range of structural properties of source code can be measured by available quality measurement tools, the so called metrics. However, the metrics for examining decision structures that significantly determine the structural quality of the program are inadequate because, decision structure anomalies are not indicated by the complexities arising from the decision structure within the components. Accordingly, the aim of the development is to create a decision structure quality meter that is a static code analysis tool suitable for doing metrics for the decision structures and applying refactoring rules (source code correction rules) related to the quality of decision structure determined, by the tool. A further aim is to support the selection of an appropriate refactoring step, to eliminate structural anomalies in quality analysis decisions with an expert system based on, machine learning procedures.

The novelty of the development is enhanced by the fact that by recognizing the decision redundancies in the decision structure, the designed system provides an opportunity to detect the application possibilities of design patterns, and decision structures can be accessed by decision combinations that can be performed by automatic refactoring procedures. Regarding the planned system, it is a novelty to provide measurement possibilities according to the metrics characterizing the overall quality of the decision structure of the examined source codes, which is supplemented by the metric-driven automatic refactoring methods (Java-based refactoring tool is not currently on the market). The novelty of the planned project is further enhanced by the fact that refactoring is driven by artificial intelligence. The need for this is justified because a structural anomaly detected by metric measurement can be corrected by a variety of refactoring steps, while other quality aspects deteriorate, so artificial intelligence is required to select the best sequence of steps. The provision and collection of teaching samples required for the teaching of artificial intelligence will be implemented as part of the project.