Method for object-oriented software diagnostic - Нечай, О.С. (Proceedings of National Aviation University (archive), 2010)
During software maintenance changes are introduced often in harsh terms and conditions of limited resources. As a result, its structure degraded and, consequently, it becomes difficult to understand and modify. This phenomenon is known as software decay and is extremely harmful, as tends to be unnoticed at first, but then grow with time. Therefore the problem of developing methods and diagnostics software is an issue.The purpose of the paper is to develop a method of object-oriented software diagnostic to detect design defects in the phase of their appearance and monitoring their development. For achieve a purpose following tasks are supplied and solved: develop a metamodel that enables to perform analysis of design defects history based on it; develop a set of graphics to facilitate the tracking of defects in various aspects; determine which tasks may be solved by studying graphic images.The essence of method of object-oriented software diagnosing is to monitor the design defects. The method is implemented by using the proposed meta-history of design flaws (DDHM - Design Flaws History Model) object-oriented software and multidimensional visualization of defects of the design elements at various levels of abstraction. In DDHM first defect is modeled as a separate entity, able to change their characteristics with time. Considered the following quantitative characteristics of the defect: the degree of deficiency, symptoms of defect intensity and average intensity of the defect symptoms.Analysis of graphic images give next opportunities: highlight the most dangerous defects, a more efficient allocation of resources aimed at supporting the maintenance of software; identify restructuring - information on where and when the restructuring of the software necessary for understanding how and to some extent, why the structure of the software was modified; implement early detection of defects, using information on the development of defects from version to version, with maintenance engineers can diagnose the defect in the early stages of development and adjustment of working with maintenance, so as to prevent the need for restructuring in the future; determine the circumstances of the emergence and development of the defect - the modern tools of automation software life cycle, such as Microsoft Visual Studio Team System, store data about all the changes the source code, for example, who brought these changes and why, so it is possible to determine who, and because of what requirements made defect.To implement the method we developed diagnostics software SEM (Software Evolution Miner).