First-in-industry tech supports digital transformations, such as the migration of existing large-scale systems to the cloud, by more efficiently grasping business specifications
Fujitsu Laboratories Ltd.
Kawasaki, Japan
Fujitsu Laboratories Ltd. today announced the development of technology to analyze the programs of business systems, and automatically extract implemented business logic-based practices, calculation methods and other easy-to-understand tables.
When migrating or rebuilding business systems, an essential first step before beginning design and development work is to understand the currently implemented system specifications, but in many cases where a business system has continually grown in scale and complexity through years of development, specification documents have not been updated, and a great deal of time is required for preparation. With technology that divides large-scale programs and extracts the business specifications in table form, and technology that rebuilds a table for the whole program from the separated tables, it is now possible to automatically extract business specifications implemented in large-scale programs as an easy-to-understand tables of conditions, increasing the efficiency of grasping the current specifications coded in the program.
In a test case that applied this technology to programs within Fujitsu, the time required to update the specification documents was reduced by one third, enabling increased efficiency in migrating to systems, such as cloud, that can flexibly respond to business changes, while also following the business specifications of existing business systems. With this technology, Fujitsu will support the digital transformation of their customers’ business systems.
Development Background
Currently, as ICT environments such as the cloud and mobile are developing, many companies are working to migrate or rebuild existing business systems in the cloud, or add new functionality such as mobile support. There is a need for systems to rapidly respond to changes post-migration, while at the same time there is a demand for them to follow current business specifications. Actual business systems, however, have in many cases become black boxes. This is because they have undergone long periods of improvement and maintenance, becoming more complicated programs, while specification documents have become outdated and those workers who had developed the system are no longer involved. As such, a great deal of time is required to understand the business specifications of current operations.
Issues
In order to migrate business systems to systems with more flexibility with regard to change, Fujitsu Laboratories aims to manage business specifications with tables of conditions, as in business rule management systems (BRMS)(1), which can automatically execute business rules without creating programs. In order to accomplish this, it is first necessary to dig up business specifications from complicated existing programs, bring specification documents up to date, and rework the specifications into tables of conditions (Figure 1).
As for technologies for extracting tables of conditions, there is the method of using symbolic execution(2) technology to extract the program’s execution path and organize it as a table (Figure 2). This method, however, was difficult to use with large-scale business systems, because the number of execution paths becomes massive as the program becomes larger and more complicated, creating an issue of practicality.
About the Newly Developed Technology
Now, Fujitsu Laboratories has developed the industry’s first technology to analyze large-scale programs in business systems, and then extract implemented business logic-based practices and calculation methods specifications in easy-to-understand tables of conditions.
This newly developed technology first breaks large-scale programs into processing blocks, focusing on the program’s structure and the complexity of the business logic, and extracts tables of conditions from each part using a unique symbolic execution technology. Next, it analyzes the program’s flow, such as subroutine calls, and program-internal variable references and updates, and combines the separately created tables of conditions to rebuild tables of conditions for the original processing target (Figure 3). For example, if the program were divided in the vicinity of a subroutine call, three tables of conditions, for the call origin, call time, and call object, will be extracted and combined.
This means that, while it was previously necessary to analyze the number of execution paths equivalent to the product of the number of call origins times the number of call objects, now, processing can be reduced to the sum of the number of paths. The effect of this reduction becomes greater the more nesting subroutine calls a program has. For example, when a program has three nesting subroutine calls, while it would previously have been necessary to analyze 3,060 execution paths, this can be reduced to 41. Also, by excluding from the analysis portions that do not relate directly to data processing for the task, such as input value checks and database processing, it is possible to extract tables of conditions for only the targeted task processes, eliminating unneeded paths.
The tables of conditions automatically extracted from programs with this newly developed technology can be used in the following ways (Figure 2, right):
- Improving the efficiency of updating specification documents (re-documentation)Extracted tables of conditions accurately, completely, and simply show the results of running the programs, so this can reduce the time required for engineers to follow and understand the data being processed as the program runs. Documentation brought up to date using these tables of conditions can be used as references when designing the next system.
- Making them into BRMS rulesBy processing the tables of conditions and turning them into BRMS rules, the efficiency of rule creation when migrating to BRMS will be increased, even in portions of business systems which have been greatly changed.
Results
With this newly developed technology, it has become possible to extract business specifications from complex, large-scale programs, which previously were not amenable to analysis. In an internal application of this technology to a large-scale COBOL program, it was demonstrated to increase the efficiency of creating business specifications, with the time required to redevelop specifications reduced by one-third. In addition, it was confirmed that tables of conditions extracted from large-scale programs of actual systems could be processed into BRMS rules.
Future Plans
In its approach to system migrations, Fujitsu Laboratories will, in combination with existing technology for identifying the feature components of software program assets(3) and technology to visualize the degree of complexity in business logic(4), work on testing and overcoming problems in this newly developed technology with the aim of bringing it into practical application in fiscal 2017.
[1] BRMS
Business Rule Management System. A system that, without the need to create a program, can execute business rules that have been formulated in a way that is easy for business managers to understand.
[2] Symbolic execution
Technology that exhaustively extracts processing paths that can be executed by programs as one way of analyzing programs.
[3] Technology for identifying the feature components of software program assets
“Fujitsu Develops World’s First Software Map Generating Technology to Leverage Application Portfolios,” (press release dated February 29, 2012): http://www.fujitsu.com/global/about/resources/news/press-releases/2012/0229-01.html
[4] Technology to visualize the degree of complexity in business logic
“Fujitsu Develops World’s First Technology that Visualizes Complexity of Business Logic in a Program’s Code,” (press release dated May 1, 2015): http://www.fujitsu.com/global/about/resources/news/press-releases/2015/0501-01.html
Source by http://www.fujitsu.com