Kawasaki, Japan, February 29, 2012
Fujitsu Laboratories Limited today announced that it has developed mining technology that automatically identifies feature components from complex, large-scale enterprise applications. The identified components embody a specific feature or role in business. Based on these components, another new technology automatically generates software maps to visualize feature-based application structures.
This technology makes it possible to automatically identify feature components within an application portfolio. This results in a city map model that offers an intuitive understanding of this structural information, while also displaying various types of statistical information.
The use of these maps reduces the time required to analyze the present state of enterprise applications for quick enhancements to keep pace with business changes. In migrating applications to the cloud, for example, it enables the time required for initial analysis to be cut roughly in half, broadening the potential for effective IT approaches.
Background
Over many years of development and maintenance, enterprise applications have been increasing in complexity and functionality. To keep pace with the accelerating pace of change in the business environment, however, there is a need to quickly upgrade, enhance, or migrate these applications. To meet these needs, it is essential to gain an understanding of the applications through analysis, a task that was both labor intensive and time consuming.
To analyze the relationships among different features in an application, it is necessary to accurately track dependency patterns between programs and data. Many enterprise applications, however, are huge, comprising thousands or even tens of thousands of programs. Performing the analysis was therefore time-consuming, and collecting the required information depended on the subjective and experiential knowledge queried from the application developers.
Technical Challenges
When enterprise applications are first developed, the overall structure is orderly and easily partitioned. Over many years, however, applications are changed and new features are added in line with business changes that go beyond the partitions envisioned in the original design. Therefore new dependencies between different business operations are created. As a result, simply sorting through things in accordance with the original structure leads to an insufficient understanding. In addition, information that would be useful to know when making new investments in the application, such as the location of areas in the application that are used with high frequency, the location of quality problem areas, or whether the scalability of the application is sufficiently reliable, cannot be understood simply by looking at individual programs. What is needed is a presentation of the overall application with a level of abstraction that can be intuitively understood.
The Newly Developed Technology
To meet these needs in analyzing application resources, Fujitsu Laboratories has developed software mining technology that automatically identifies the feature components that enable business features and roles in applications. It also aids in visualizing the overall structure of applications based upon the feature components identified (figure 1).
The features of this technology are as follows.
1. Analysis of application portfolios leads to automatic identification and partitioning, on a per-feature basis, that were previously handled manually
Through the development of a software architecture reconstruction technology that scores the importance of the dependencies between different programs and data in the performance of a feature while mining the entire application, feature components are automatically identified, enabling the application to be partitioned and organized by feature.
2. Together with a multidimensional analysis of application structure, drawing up a city map model for an intuitive understanding
The feature components identified are configured in two dimensions and displayed in the form of a city map model (figure 2). Within the model in which feature components are presented as urban zones and programs are presented as buildings, application information such as the degree of complexity of individual programs, frequency of revisions and usage, can be visualized in three dimensions. This facilitates an intuitive understanding and simplifies evaluation of quality (figure 3).
Figure 1. Steps in generating the software map
Figure 2. Example of a software map
Figure 3. Software map usage examples
Results
Using this newly developed technology, what had been a difficult task of understanding an application can be performed quickly and intuitively. For example, with the application asset analysis service(1) provided by Fujitsu, it may take three months to perform a detailed analysis and generate the information required to understand. By using this technology, however, it is anticipated that a simplified analysis taking only about half that time would be sufficient.
In addition, the software map is a useful tool for facilitating communication among stakeholders at various levels, such as managers, developers, and users. The map enables, for each program and each feature component, visualization of usage frequency data and quality evaluation data, such as the degree of complexity, the frequency of failures, and the frequency of revisions. Users are able to oversee problem areas by feature so that even non-programmers can understand the situation and propose remedies.
Moreover, by continuing to use this technology, based on variances over time, it is possible to generate future quality predictions and improvement plans. By performing an analysis of the gaps between the original and current design, it is also easy to extract and reuse valuable feature components and to maintain the proper structure of the application.
Future Developments
In order to commercialize the technology, verification work will be performed to analyze a variety of systems in different programming languages and different industries.