Information processing device, information processing method, and recording medium

By using code inspection tools and allowing usage analysis outside the rules during the system migration process, optimizing program source conversion and merging, the problem of difficult to predict and reduce additional job working hours is solved, and the system migration is early and the work time reduction is achieved.

CN113986253BActive Publication Date: 2025-03-28HITACHI SOCIAL INFORMATION SERVICES LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111308206.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-03-30
Filing Date
2017-03-22
Publication Date
2025-03-28
Estimated Expiration
2037-03-22

AI Technical Summary

Technical Problem

In the process of system migration from the current system to the new system, especially in the transformation and development of large systems, the work hours of additional jobs are difficult to predict and reduce, resulting in delays in system migration.

Method used

By generating code inspection tools that parse and check program sources, and extracting usage outside the allowable rules, it is decided to reflect the maintained developed program sources to the new program sources, and based on this policy, convert and merge the program sources to optimize the process of adding additional jobs.

Benefits of technology

The early migration from the current system for maintenance and development to the new system is achieved, reducing the working hours of additional jobs and shortening the total time of system migration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113986253B_ABST
    Figure CN113986253B_ABST
Patent Text Reader

Abstract

The present invention provides an information processing device, an information processing method and a recording medium. The information processing device comprises: a grammar analysis program unit, which performs syntactic analysis of a current program source before maintenance and generates a list of tokens and syntax used for the current program source before maintenance; a setting unit, which sets permission information and prohibition information based on a design benchmark of a new program source, wherein the permission information indicates tokens, syntax and character strings allowed to be used in the new program source, and the prohibition information indicates tokens, syntax and character strings prohibited to be used in the new program source; and a tool generation unit, which generates a tool for determining whether the permission information and the prohibition information are used in the current program source after maintenance.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application filed on March 22, 2017, with application number 2017800222066 and invention name "Program source conversion method, program source conversion device, information processing device, information processing method and program". Technical Field

[0002] The present invention is directed to a technique for software development accompanying system migration from a current system to a new system. Background Art

[0003] In the system migration from the current system to the new system, there is a task such as program conversion development. In the conversion development, the program language (e.g., COBOL (COMmon Business Oriented Language)) of the current program source used in the current system is replaced with another program language (e.g., JAVA (registered trademark)) to generate a new program source for the new system.

[0004] In the midst of conversion development, there are cases where maintenance and development of the current system is implemented. If it is a conversion development of a large system, since it will be a long-term task, it may sometimes involve maintenance and development in the midst of conversion development multiple times. In the case of maintenance and development, additional work is performed on the new system in the middle of development. Additional work refers to the work of temporarily generating a new program source for a new system that has completed system testing and reflecting the program corrections and changes generated by maintenance and development. Additional work is necessary, but since it increases the workload of conversion development and causes delays in system migration, there is a desire to reduce the working hours and end it early. However, since the design content of conversion development is basically not considered in maintenance and development, it is difficult to estimate the working hours of additional work, and reducing the working hours is by no means easy.

[0005] Japanese Patent Document 1 discloses a program verification device that verifies whether a verification target program satisfies a specified internal specification using an abstract syntax tree.

[0006] Patent Literature

[0007] Patent Document 1: Japanese Patent Application Publication No. 2011-215998 Summary of the invention

[0008] Problems to be solved by the invention

[0009] However, Japanese Patent Document 1 does not record or suggest the above-mentioned problems related to the additional work and their solutions. As a result, it is impossible to realize the early migration of the system for program conversion development. Therefore, the present invention is completed in view of the above situation, and its purpose is to realize the early migration of the system from the current system for maintenance and development to the new system.

[0010] Methods for solving problems

[0011] In order to achieve the above object, the information processing device of the present invention is characterized in that:

[0012] A program source conversion device for converting a first program source into a second program source executes the following steps:

[0013] A step of generating a code checking tool for analyzing the first program source and checking for allowed permission rules;

[0014] a step of converting the first program source into the second program source;

[0015] In a case where the first program source has been maintained and developed, a process of extracting the usage outside the permitted rule, the usage being used to check the first program source that has been maintained and developed using the code checking tool, and determining a policy for reflecting the first program source that has been maintained and developed in the second program source that has been converted; and

[0016] The process of converting the first program source that has been maintained and developed into a second program source based on the policy and merging the second program source with the converted program source. The other units will be described later.

[0017] Effects of the Invention

[0018] According to the present invention, it is possible to realize system migration from a current system undergoing maintenance and development to a new system in advance. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 This is a sequence showing the system migration when the present invention is not applied.

[0020] Figure 2 This is a sequence showing system migration when the present invention is applied.

[0021] Figure 3 It is a flowchart showing the detailed steps of conversion development in a migration development environment and the detailed steps of maintenance development in a current system maintenance development environment.

[0022] Figure 4 It is a functional structure diagram of the reversing device.

[0023] Figure 5 It is a functional structure diagram of the code checking tool.

[0024] Figure 6 This is a flowchart showing the current program source determination process after maintenance (in the case of determining syntax). DETAILED DESCRIPTION

[0025] Hereinafter, embodiments of the present invention which are preferred examples will be described in detail with reference to the drawings.

[0026] "summary"

[0027] [Existing system migration]

[0028] like Figure 1 As shown, for example, by exchanging information among a current system server 1, a current system maintenance PC (Personal Computer) 2, a test server 2t, a repository server 3, a new system maintenance PC 4, a test server 4t, a conversion development server 5, a test server 5t, and a new system server 6, a system migration for program conversion development as a comparative example is achieved.

[0029] The current system server 1 is a server that reads the current program source P1 (current program source before maintenance) for the official operation of the current system. The current system server 1 is in the current system official environment and is installed at the client of the conversion developer, for example.

[0030] The current program source P1 is a source code of a program for the current system. The current program source P1 is described in COBOL, for example, but may also be described in other languages.

[0031] In this specification, regardless of whether maintenance and development have been performed, the current program source is sometimes referred to as a "first program source" and the current system is sometimes referred to as a "first system".

[0032] The current system maintenance PC2 is a server that modifies the current program source P1 and generates the current program source P2 that has been maintained. The current program source P2 that has been maintained is equal to the current program source P1 that has been maintained and developed. The current program source P2 that has been maintained is written in the same language as the current program source P1.

[0033] The test server 2t is a server that performs a test to confirm the operation of the current program source P2 that has completed maintenance.

[0034] The current system maintenance PC 2 and the test server 2t are located in a current system maintenance development environment and are installed at a customer of a conversion development company, for example.

[0035] Furthermore, maintenance and development includes unscheduled work such as correcting a bug that causes a malfunction in the current system, and scheduled work such as changing program specifications in response to legal amendments.

[0036] The repository server 3 is a resource management server and stores and manages the current program source P1, the current program source P2 that has been maintained, the new program source P3, and the new program source P4 that has been maintained.

[0037] The new program source P3 is the source code of the program for the new system.

[0038] The new program source P4 that has completed maintenance is equal to the new program source P3 that has completed maintenance and development.

[0039] The repository server 3 is in a resource management environment, for example, set at a client. In addition, the resource management environment can also be a current system maintenance and development environment, or a new system maintenance and development environment described later. In other words, the current system maintenance PC 2 or the new system maintenance PC 4 can be designed to function as a repository server 3.

[0040] The new system maintenance PC 4 is a server that corrects the new program source P3 and generates a new program source P4 that has been maintained.

[0041] The test server 4t is a server that performs a test (system test) to confirm the operation of the new program source P4 that has completed maintenance.

[0042] The new system maintenance PC 4 and the test server 4t are located in a new system maintenance and development environment and are installed at a customer's location, for example.

[0043] The conversion development server 5 is a server that replaces the programming language of the current program source P1 with another programming language and generates a new program source P3. The new program source P3 is described in JAVA, for example, but may be described in other languages.

[0044] The test server 5t is a server for performing a test to confirm the operation of the new program source P3.

[0045] The conversion development server 5 and the test server 5 t are located in a migration development environment and are installed at a conversion developer, for example.

[0046] The new system server 6 is a server that performs processing for reading the new program source P4 that has been maintained for formal operation of the new system. The new system server 6 is in a new system formal environment and is installed at a customer, for example.

[0047] In this specification, a new program source may be referred to as a "second program source" and a new system may be referred to as a "second system" regardless of whether maintenance and development have been performed.

[0048] Figure 1 The steps for system migration in are as follows.

[0049] First, in step A1, the current system server 1 reads the current program source P1 obtained from the repository server 3 and performs formal operation.

[0050] Next, in step A2, the conversion development server 5 performs conversion development of the current system on the current program source P1 obtained from the repository server 3, and generates a new program source P3. In addition, the test server 5t performs a test to confirm the operation of the new program source P3. The new program source P3 that has completed the test by the test server 5t is stored in the new system maintenance PC 4.

[0051] Then, in step A3, the current system maintenance PC 2 corrects the current program source P1 obtained from the repository server 3, performs maintenance and development, and generates the current program source P2 that has been maintained. In addition, the test server 2t performs a test to confirm the operation of the current program source P2 that has been maintained. Before step A2 is completed, step A3 (parallel maintenance) is performed once or multiple times in parallel with step A2. The current program source P2 that has been maintained after the test by the test server 2t is stored in the repository server 3.

[0052] Next, in step A4, the test server 4t performs a system test on the new program source P3. Specifically, the test server 4t confirms the conversion result output as the new program source P3 as a system test. The new program source P3 after the system test by the test server 4t is stored in the repository server 3.

[0053] Next, in step A5, the current system server 1 reads the current program source P2 that has been maintained and obtained from the repository server 3, and starts the formal operation with the maintenance-completed contents.

[0054] Then, in step A6, the conversion development server 5 reads the current program source P2 that has been maintained and obtained from the repository server 3, and performs additional operations. Specifically, the conversion development server 5 determines the difference between the current program source P1 and the current program source P2 that has been maintained as the program change and correction part based on the maintenance development in step A3. In addition, the conversion development server 5 performs conversion development into the current system that has been maintained for the determined program change and correction part. In addition, the conversion development server 5 makes the result of the conversion development into the current system that has been maintained reflected in the new program source P3 to generate the new program source P4 that has been maintained. "Making the result of the conversion development into the current system that has been maintained reflected in the new program source P3" means taking the following steps, that is, making the initial conversion development design in step A2 correspond to parallel maintenance. In addition, the test server 5t performs a test to confirm the operation of the new program source P4 that has been maintained. The new program source P4 that has been maintained and has completed the test by the test server 5t is stored in the new system maintenance PC 4.

[0055] Next, in step A7, the test server 4t performs a system test on the new program source P4 that has been maintained. Specifically, the test server 4t confirms the conversion result output as the new program source P4 that has been maintained as a system test. The new program source P4 that has been maintained, after the system test by the test server 4t is completed, is stored in the repository server 3.

[0056] Then, in step A8, the system migration is performed (symbol M1). Specifically, in step A5, the formal operation performed by the current system server 1 with the content of the completed maintenance is terminated, and the new system server 6 reads the new program source P4 with the completed maintenance obtained from the repository server 3, and starts the formal operation with the content of the completed maintenance.

[0057] Then, in step A9, the current system server 1 uses the current program source P2 that has completed maintenance to start the backup operation with the content that has completed maintenance.

[0058] The workload of the additional work of step A6 depends on the result of the program change correction of the current program source P1 in the maintenance development of step A3. In the past, since the design content of conversion development was basically not considered in maintenance development (because maintenance developers give priority to the convenience of maintenance development and do not pay attention to conversion development), there are various ways to implement the program change correction of the current program source P1 in maintenance development. For example, sometimes in maintenance development, new (COBOL) instruction codes that are not targeted at migration design are used to correct the program (this "correction" includes both the correction using the new "instruction code" and the correction using the new "method of using the instruction code"). In this case, it is necessary to correct the migration design of the conversion development. Although most conversions (conversion of programming languages) can be performed mechanically using a predetermined conversion tool, in the case of correcting the migration design of the conversion development, it is necessary to correct the conversion tool in a manner corresponding to the correction of the migration design. In addition, when using the corrected conversion tool for conversion, it is necessary to conduct a test to confirm the action of the corrected conversion tool itself in advance. Since these tasks sometimes involve additional work, it is difficult to predict the amount of additional work on the conversion development side and to estimate and reduce the working hours of the additional work.

[0059] In addition, for very complicated conversion steps, from the perspective of development cost, the conversion is sometimes performed manually without using a conversion tool. Assume that the current program source P1 has been modified by maintenance development for the manual conversion part. In this case, even if the migration design for the conversion development has not been modified, in the additional work, the conversion that conforms to the modified results of maintenance development is completed manually, and a test is performed to determine whether the conversion is completed correctly.

[0060] [System Migration of the Present Embodiment]

[0061] In view of the above situation, in this embodiment, the Figure 2 The steps shown are as follows. Figure 2 As shown, Figure 1 Similarly to the comparative example shown, the system migration for program conversion development in this embodiment is realized by exchanging information among the current system server 1, the current system maintenance PC 2, the test server 2t, the repository server 3, the new system maintenance PC 4, the test server 4t, the conversion development server 5, the test server 5t, and the new system server 6. Figure 1 The description will focus on the differences and explain the system migration in this implementation mode.

[0062] Step B1 is performed at the beginning of step A2. In step B1, after determining the program syntax (hereinafter, sometimes simply referred to as "syntax") that is a prerequisite for conversion development, the conversion development server 5 generates a design benchmark 10 and a code checking tool 20 that reflect the syntax.

[0063] The design reference 10 is a design reference for the new program source P3, and describes in a summary the necessary conditions for migration design (described later) of the system migration.

[0064] The code check tool 20 is a tool used for programming (described later) for maintenance development using the current system maintenance PC 2. The details of the code check tool 20 will be described later.

[0065] Then, step B2 is performed instead of step A3 ( Figure 1 ). In step B2, when the current system maintenance PC2 performs maintenance development and generates the current program source P2 that has been maintained, the design benchmark 10 and the code checking tool 20 obtained from the conversion development server 5 are used to utilize the syntax, etc. that are premised on the conversion development (taken into account). The current system maintenance PC2 operates the code checking tool 20 for the generated current program source P2 that has been maintained, and determines whether the syntax, etc. that deviates from the design benchmark 10 is utilized. In the case where there is syntax, etc. that deviates from the design benchmark 10, the current system maintenance PC2 may generate the current program source P2 that has been maintained in a manner that does not include syntax, etc. that deviates from the design benchmark 10. When syntax, etc. that deviates from the design benchmark 10 is required in maintenance and development anyway, the current system maintenance PC2 generates a non-benchmark list 30 that summarizes such syntax, etc. The non-benchmark list 30 can determine the policy for reflecting the current program source P2 that has been maintained in the new program source P3. The details of the non-standard list 30 will be described later.

[0066] Then, at the end of step A2, step B3 is performed. In step B3, if the non-standard list 30 exists, the conversion development server 5 reflects the non-standard list 30 obtained from the current system maintenance PC 2 and generates a new program source P3.

[0067] The additional operation of step B4 is equivalent to step A6 ( Figure 1 The conversion development server 5 converts the current program source P2 that has been maintained based on the policy of the non-standard list 30 and merges it with the new program source P3.

[0068] The conversion development (step A2) is performed based on the design reference 10. Therefore, in the maintenance development, if the current program source P2 that has been maintained is generated in a manner based on the design reference 10, the out-of-reference list 30 will not be generated. As a result, in the additional work (step B4), the part related to the migration design of the system migration can be omitted.

[0069] Furthermore, during maintenance and development, even if the current program source P2 that has been maintained is generated in a manner that deviates from the design reference 10 and the out-of-reference list 30 is generated, it is possible to perform migration design for system migration that corresponds to the syntax of the out-of-reference list 30 at step B3, i.e., before the additional work (step B4) (advancement of the additional work). Figure 1 ), in the additional operation (step A6), unless the current program source P2 that has been maintained as a result of maintenance development is obtained and syntax analysis is performed, it is impossible to determine the syntax equivalent to the syntax of the out-of-baseline list 30, and it is impossible to perform migration design for system migration corresponding to the determined syntax.

[0070] As described above, part of the additional work (step B4) can be omitted, or the migration design of system development can be performed in advance at the stage of conversion development. As a result, the system can be designed in advance in accordance with step A6 ( Figure 1 ) can shorten the duration or reduce the man-hours of the additional work (step B4), and can make the system migration (symbol M2) of this embodiment more efficient than the existing (reference Figure 1 )'s system migration (symbol M1) is advanced (early system migration).

[0071] Furthermore, the period required for generating the design reference 10 and the code checking tool 20 in step B1 and the period required for reflecting the out-of-reference list 30 in step B3 are so short as to be negligible compared with the shortened period of the additional work.

[0072] The conversion development server 5 executing the above steps B1, B3, and B4 and the current system maintenance PC 2 executing step B2 constitute the program source conversion device of the present invention, and execute the program source conversion method of the present invention.

[0073] [Details of conversion development, details of maintenance development]

[0074] Reference Figure 3 , explains the detailed steps of conversion development in the migration development environment and the detailed steps of maintenance development in the current system maintenance development environment.

[0075] like Figure 3As shown on the left side of , in a migration development environment equipped with a conversion development server 5 and a test server 5t, mobility analysis (step B11), migration design (step B12), reversal (step B13), program conversion (step B31), conversion test (step B32), program conversion (step B41) and test (step B42) are performed in this order.

[0076] In the portability analysis (step B11), syntax analysis of the current program source P1 is performed.

[0077] In the migration design (step B12), programming rules (for example, variable naming, method or class setting) are set, etc. The design reference 10 is generated by the migration design (step B12).

[0078] In the inversion (step B13), the code checking tool 20 is generated by reflecting (inverting) the result of the migration design (step B12) on a syntax analysis program of the known technology.

[0079] In step B1( Figure 2 ) performs the above-mentioned mobility analysis (step B11), migration design (step B12) and inversion (step B13).

[0080] In the program conversion (step B31), the program language used for the current program source P1 is converted into another program language to generate a new program source P3.

[0081] In the conversion test (step B32), the new program source P3 is tested by the test server 5t.

[0082] In step B3 ( Figure 2 ) performs the above-mentioned program conversion (step B31) and conversion test (step B32).

[0083] In the program conversion (step B41), the program language used for the current program source P2 that has completed maintenance is converted into another program language to generate a new program source P4 that has completed maintenance.

[0084] In the test (step B42), the new program source P4 that has been maintained is tested by the test server 5t.

[0085] In step B4 ( Figure 2 ) performs the above-mentioned program conversion (step B41) and conversion test (step B42).

[0086] like Figure 3As shown on the right side of , in the current system maintenance development environment configured with PC 2 for current system maintenance and test server 2t, basic design (step B21), detailed design (step B22), programming (step B23) and testing (step B24) are performed in this order.

[0087] In the basic design (step B21), the modified part of the current program source P1 and the modification items of the part are determined. In the basic design (step B21), the design reference 10 is appropriately referred to.

[0088] In the detailed design (step B22), the programming rules are set so as to conform as much as possible to the design reference 10. When the detailed design (step B22) is completed, the current program source P2 that has been maintained is generated.

[0089] In programming (step B23), the generated current program source P2 that has been maintained is subjected to a programming review including the output result of the code checking tool 20. The programming review is repeated to remove vulnerabilities and the like contained in the current program source P2 that has been maintained.

[0090] In the test (step B42), the current program source P2 that has been maintained is tested by the test server 2t. When the test (step B42) is completed, the current program source P2 that has been maintained and the operation confirmation is ensured is generated.

[0091] In step B2 ( Figure 2 ) performs the above-mentioned basic design (step B21), detailed design (step B22), programming (step B23) and testing (step B24).

[0092] "structure"

[0093] [Reversal device]

[0094] Reference Figure 4 The inversion device R (information processing device) of this embodiment is described. The inversion device R is a device that performs inversion ( Figure 3 The inversion device R is a computer including hardware such as an input unit, an output unit, a control unit, and a storage unit. For example, in the case where the control unit is composed of a CPU (Central Processing Unit), the information processing performed by the computer including the control unit is realized by executing a program based on the CPU. In addition, the storage unit included in the computer stores various programs for realizing the functions of the computer according to the instructions of the CPU. Thereby, the coordinated action of software and hardware is realized. The program can be recorded in a recording medium or provided via a network.

[0095] The inversion device R includes a syntax analyzer unit r1 (syntax analyzer unit), a setting unit r2 (setting unit), an editing unit r3, and a tool generation unit r4 (tool generation unit). The syntax analyzer unit r1, the setting unit r2, the editing unit r3, and the tool generation unit r4 are specific functional units of the control unit of the inversion device R. In addition, the inversion device R includes a code checker 14. The code checker 14 constitutes a part of the code checker tool 20 and is a program source that describes the processing content of the code checker tool 20. The code checker 14 is generated by inversion ( Figure 3 ) is generated in step B13) and stored in the storage unit of the inversion device R.

[0096] (syntactic analysis program part r1)

[0097] The parser r1 performs syntactic analysis of the current program source P1. When the syntactic analysis of the current program source P1 is completed, the parser r1 can determine the tokens and syntax used for the current program source P1. The parser r1 outputs the determined tokens as a token list P1a before maintenance, and outputs the determined syntax as a syntax list P1b before maintenance. The parser r1 can be prepared for each programming language.

[0098] (Setting section r2)

[0099] The setting unit r2 sets the information that is permitted to be used in the new program source P3 as permission information 11 based on the design reference 10 of the new program source P3. The permission indicated by the permission information 11 is the permission from the conversion development side that generates the new program source P3 to the maintenance development side that generates the current program source P2 that has been maintained, in order to shorten the additional work ( Figure 2 From the perspective of step B4), this means that the information shown in the license information 11 can also be used for the current program source P2 for which maintenance has been completed.

[0100] The permission information 11 includes token-addition permission information 11 a , syntax-addition permission information 11 b , and character string-addition permission information 11 c .

[0101] The token addition permission information 11a is information indicating a token that is permitted to be used in the new program source P3.

[0102] The additional syntax permission information 11b is information indicating the syntax permitted to be used in the new program source P3.

[0103] The additional character string permission information 11c is information indicating a character string permitted to be used in the new program source P3. A "character string" is, for example, a comment text, and does not contribute to the operation of the program in the code used for the program source. In this specification, the term "character string" is used in the above meaning.

[0104] For example, since the tokens, syntax, and character strings used for the current program source P1 are information to be developed as the conversion development object, it is preferable to set them as the permission information 11 (the tokens in the token list P1a before maintenance and the syntax in the syntax list P1b before maintenance are classified as the permission information 11). However, it does not prevent the permission information 11 from not including a part of the tokens, syntax, and character strings used for the current program source P1. In addition, the tokens, syntax, and character strings other than the tokens, syntax, and character strings used for the current program source P1 may be appropriately prepared on the conversion development side, and added to the permission information 11.

[0105] In addition, the setting unit r2 sets information that prohibits the use of the new program source P3 as prohibition information 12 based on the design reference 10 of the new program source P3. The prohibition indicated by the prohibition information 12 is a prohibition from the conversion development side that generates the new program source P3 to the maintenance development side that generates the current program source P2 that has been maintained, in order to shorten the additional work ( Figure 2 From the perspective of step B4), it means that for the current program source P2 that has completed maintenance, the information shown in the prohibition information 12 is not wanted to be used (or can also be set to be unusable).

[0106] The prohibition information 12 includes token addition prohibition information 12a, syntax addition prohibition information 12b, and character string addition prohibition information 12c.

[0107] The token addition prohibition information 12a is information indicating that the token used in the new program source P3 is prohibited.

[0108] The additional syntax prohibition information 12b is information indicating a syntax that is prohibited from being used in the new program source P3.

[0109] The additional character string prohibition information 12c is information indicating a character string that is prohibited from being used in the new program source P3.

[0110] For example, since the tokens, syntax, and character strings used in the current program source P1 are information to be developed by the conversion development, it is preferable not to set them as the prohibition information 12. However, there is no obstacle to including a part of the tokens, syntax, and character strings used in the current program source P1 in the prohibition information 12. In addition, it is also possible to appropriately prepare predetermined tokens, syntax, and character strings on the conversion development side and add them to the prohibition information 12.

[0111] The permission information 11 and the prohibition information 12 constitute permission rules for maintenance and development, and are presented from the conversion and development side to the maintenance and development side.

[0112] (Editorial Department r3)

[0113] The editing unit r3 edits the token list P1a and syntax list P1b before maintenance outputted from the parser unit r1 and the permission information 11 and prohibition information 12 outputted from the setting unit r2 so as to be integrated into a desired format. The editing unit r3 outputs the integrated information as the check information 13 .

[0114] (Tool generation unit r4)

[0115] The tool generation unit r4 generates a code checking tool 20 (tool) by packaging the checking information 13 and the code checking program 14 .

[0116] The code checking tool 20 generated by the tool generation unit r4 and the migration design ( Figure 3 The design benchmark 10 generated in step B12) is installed on the test server 2t (refer to Figure 2 ). In addition, the code checking tool 20 and the design reference 10 may be installed on the current system maintenance PC 2 in the current system maintenance development environment.

[0117] [Details of Code Check Tool 20]

[0118] like Figure 5 As shown, the code checking tool 20 includes a parser unit 21 and a determination unit 22 in addition to the already described check information 13 . The parser unit 21 and the determination unit 22 constitute the code checking program 14 .

[0119] (Syntax analysis program unit 21)

[0120] The syntax analysis program unit 21 performs syntax analysis on the current program source P5 after maintenance. The current program source P5 after maintenance refers to the program source obtained after the current program source P1 is temporarily or definitely modified and changed through maintenance and development. Specifically, the current program source P5 after maintenance is programming ( Figure 3 The current program source P2 that has been maintained (before the test) when step B23) is in the middle of or has been completed, or the test ( Figure 3 The current program source P2 that has completed maintenance at the end of step B42).

[0121] When the syntax analysis of the current program source P5 after maintenance is completed, the syntax analyzer unit 21 can determine the tokens and syntax for the current program source P5 after maintenance. The syntax analyzer unit 21 outputs the determined tokens as a token list P5a after maintenance, and outputs the determined syntax as a syntax list P5b after maintenance. The syntax analyzer unit 21 can be prepared for each programming language.

[0122] (Determination Unit 22)

[0123] The determination unit 22 determines whether the permission information 11 and the prohibition information 12 are used in the current program source P5 after maintenance. Specifically, the token list P5a after maintenance, the syntax list P5b after maintenance, and the inspection information 13 ( Figure 4 ). In addition, the difference between the token list P5a after maintenance and the token list P1a before maintenance included in the inspection information 13 is determined, and the difference between the syntax list P5b after maintenance and the syntax list P1b before maintenance included in the inspection information 13 is determined. In addition, it is determined whether these determined differences are classified as permission information 11, and whether they are classified as prohibition information 12. In addition, the details of the determination processing of the determination unit 22 will be described later.

[0124] The determination unit 22 causes the test server 2t to output the determination result 23 of the above determination. When information not shown in the permission information 11 is used for the current program source P5 after maintenance, or information shown in the prohibition information 12 is used for the current program source P5 after maintenance, the determination unit 22 uses the list of such information as the non-reference list 30 (refer to Figure 2 ) is included in the judgment result 23.

[0125] Furthermore, the determination by the determination unit 22 may be performed after the syntax analysis by the parser unit 21 is performed, or may be performed while the syntax analysis is performed.

[0126] In addition, the determination unit 22 can perform not only determination on tokens and syntax, but also on character strings in the same manner as described above. Specifically, first, the code checking tool 20 extracts character strings from the current program source P5 after maintenance by using a well-known technique, and generates a maintained character string list P5c. In addition, the maintained character string list P5c and the check information 13 ( Figure 4 ). In addition, it is determined whether each character string included in the maintained character string list P5c is classified as the permission information 11, and whether it is classified as the prohibition information 12. The determination unit 22 causes the test server 2t to output the determination result 23 about the character string. When information not shown in the permission information 11 is used in the maintained character string list P5c, or when information shown in the prohibition information 12 is used in the maintained character string list P5c, the determination unit 22 uses the list of these information as the non-reference list 30 (refer to Figure 2 ) is included in the judgment result 23.

[0127] (Determination Processing by Determination Unit 22)

[0128] like Figure 6As shown, the determination process of the current program source after maintenance performed by the determination unit 22 on the current program source P5 after maintenance is as follows. Figure 6 In the following, the syntax included in the maintained syntax list P5b of the maintained current program source P5 is explained.

[0129] First, in step S1, the determination unit 22 determines whether the additional syntax permission information 11b of the permission information 11 includes the syntax list P5b after maintenance. If included (yes in step S1), it means that all the syntaxes in the syntax list P5b after maintenance are syntaxes that are allowed to be used in the new program source P3, and the process proceeds to step S2. On the other hand, if not included (no in step S1), it means that at least one of the syntaxes in the syntax list P5b after maintenance is not allowed to be used in the new program source P3, and the process proceeds to step S4.

[0130] Next, in step S2, the determination unit 22 determines whether the additional syntax prohibition information 12b of the prohibition information 12 and the syntax list P5b after maintenance are unrelated to each other. If they are unrelated to each other (Yes in step S2), it means that none of the syntaxes in the syntax list P5b after maintenance is equivalent to the syntax prohibited from being used in the new program source P3, and the process proceeds to step S3. On the other hand, if they are not unrelated to each other (No in step S2), it means that at least one of the syntaxes in the syntax list P5b after maintenance is prohibited from being used in the new program source P3, and the process proceeds to step S4.

[0131] Then, in step S3, the determination unit 22 outputs an OK determination indicating that the syntax in the syntax list P5b after maintenance is composed of only the additional syntax permission information 11b of the permission information 11 (in accordance with the design standard 10).

[0132] In addition, in step S4, the judgment unit 22 outputs an NG judgment, which indicates that the syntax in the maintained syntax list P5b includes syntax of additional syntax permission information 11b that is not equivalent to the permission information 11, or includes syntax of additional syntax prohibition information 12b that is equivalent to the prohibition information 12 (departing from the design benchmark).

[0133] In step S5 following step S4 , the determination unit 22 extracts syntax that is a major cause of NG determination from among the syntaxes in the maintained syntax list P5 b , and adds it to the non-standard list 30 (usage outside the permitted rule).

[0134] Next, in step S6, the determination unit 22 causes the test server 2t to output the determination result 23 corresponding to the OK determination and the NG determination.

[0135] The determination result 23 is sent to the conversion development server 5 and the test server 5t of the migration development environment. On the conversion development side, based on the determination result 23, a new program source P3 can be generated.

[0136] In addition, although the above description of the processing of the determination unit 22 is related to syntax, the same logic can be used to process tokens and character strings. That is, it is determined whether the tokens in the syntax list P5b after maintenance are composed of only the additional token permission information 11a of the permission information 11. In addition, it is determined whether the character strings in the syntax list P5b after maintenance are composed of only the additional character string permission information 11c of the permission information 11.

[0137] (Summarize)

[0138] According to the present embodiment, when the conversion development of converting the programming language of the current program source P1 to generate the new program source P3 is carried out in parallel with the maintenance development of the current program source P1, the permission information 11 and the prohibition information 12 that are allowed and prohibited for the new program source P3 are set, and the code checking tool 20 is used to determine whether the permission information 11 and the prohibition information 12 are used in the current program source P5 after the maintenance development. Therefore, based on the determination result, it is possible to perform system testing of the new program source P3 after the program correction and change parts based on the maintenance development are accurately grasped, and it is possible to perform additional work ( Figure 2 The estimation of the working hours of step B4) becomes easy, and the duration of the additional work is shortened and the working hours are reduced (reduced).

[0139] Therefore, it is possible to accelerate the system migration from the current system that has been maintained and developed to the new system.

[0140] In addition, the code checking tool 20 can obtain the out-of-reference list 30 on the conversion development side when the out-of-reference list 30 does not exist in the current program source P5 after maintenance, or when the out-of-reference list 30 exists. Thus, if the out-of-reference list 30 does not exist, the part related to the migration design of the system migration can be omitted in the additional work for the current program source P2 that has been maintained. In addition, even if the out-of-reference list 30 exists, the migration design of the system migration can be performed before the additional work. As a result, the duration of the additional work can be further shortened and the man-hours can be reduced.

[0141] (Variation Example)

[0142] The present invention is not limited to the above-described embodiment, and modifications may be made without departing from the gist of the present invention. For example, there are the following (a) and (b).

[0143] (a): It is not limited to conversion development such as conversion of the programming language of the current program source. Although the same type of service is provided, it can be applied to system development that requires changing the content of the program source to a certain extent by region. That is, when the current program source of the system used in region A is used to generate a predetermined new program source used in region B, after grasping the program correction and change parts based on the maintenance and development of the current program source in region A, the additional work of the new program source for region B can be started. As a result, the workload of the additional work can be reduced, and the duration and man-hours of the additional work can be shortened.

[0144] (b): In this embodiment, step B3 ( Figure 2 ) illustrates that a part of step A2 is performed before the additional operation (step B4). However, step B3 may be processed not as a part of step A2, but as a job in the latter part of step A2 and as a job in the former part of the additional operation (step B4). In this case, the new program source P3 becomes the result of the operation of step A2, rather than the result of the operation of step B3. In addition, in this case, step B3 becomes a job in which the conversion development server 5 reflects the non-benchmark list 30 obtained from the current system maintenance PC 2 on the new program source P3 generated in step A2. Step B3 can be processed in parallel with step A2. In addition, the operation after step B3 and step B4 are combined can also be processed as an additional operation.

[0145] Furthermore, it is also possible to realize a technique in which the various techniques described in the present embodiment are appropriately combined.

[0146] The software described in this embodiment can be realized as hardware, and the hardware can be realized as software.

[0147] In addition, hardware, software, flow charts, etc. may be appropriately modified without departing from the gist of the present invention.

[0148] Description of Reference Numerals

[0149] 2 Current system maintenance PC

[0150] 2t test server (test device)

[0151] 5 Switching to a development server

[0152] 5t test server

[0153] P1 Current program source (current program source before maintenance)

[0154] P2 The current program source that has been maintained

[0155] P3 New Program Source

[0156] P4 New program source with maintenance completed

[0157] P5 Current program source after maintenance

[0158] 10 Design basis

[0159] 11 Licensing Information

[0160] 12 Prohibited Information

[0161] 13 Check information

[0162] 20. Code checking tools

[0163] 21 Parser section

[0164] 22 Judgment Department

[0165] 23 Judgment Result

[0166] 30 Non-standard list

[0167] R Reversing device (information processing device)

[0168] r1 Syntax analyzer unit

[0169] r2 Setting section (setting unit)

[0170] r3 Editorial Department

[0171] r4 Tool generation section (tool generation unit).

Claims

1. An information processing device, characterized in that: have: a first parser unit that performs syntactic analysis of a current program source before maintenance and generates a first list of tokens and syntax for the current program source before maintenance; a setting unit that sets permission information and prohibition information based on a design benchmark of the new program source, wherein the permission information indicates tokens, syntax, and character strings that are permitted to be used in the new program source, and the prohibition information indicates tokens, syntax, and character strings that are prohibited to be used in the new program source; an editing unit that collects the first list output from the first parser unit and the permission information and the prohibition information output from the setting unit, and outputs the collected information as inspection information; and a tool generating unit for generating a tool for determining whether the permission information and the prohibition information are used in the current program source after maintenance, The tool generated by the tool generation unit includes: a second parser unit that performs syntactic analysis of the current program source after maintenance and generates a second list of tokens and syntax for the current program source after maintenance; and a determination unit which receives the second list and the inspection information, determines a difference between the first list and the second list, determines whether the difference is classified as the permission information, and determines whether the difference is classified as the prohibition information, thereby determining whether the permission information and the prohibition information are used in the current program source after maintenance, When the test device for testing the current program source after maintenance is operated, the determination unit causes the test device to output a determination result of the determination unit and transmits the determination result to a server for generating the new program source. The current program source is the source code of the program for the current system, and the new program source is the source code of the program for the new system. The current program source and the new program source use different program languages.

2. The information processing device according to claim 1, characterized in that When information not shown in the permission information is used in the current program source after maintenance, or information shown in the prohibition information is used in the current program source after maintenance, the determination unit causes the test device to output the information used as an out-of-reference list and include it in the determination result.

3. An information processing method applied to an information processing device, characterized in that: The information processing device performs the following steps: A step of parsing the syntax of a current program source before maintenance and generating a first list of tokens and syntax for the current program source before maintenance; A step of setting permission information and prohibition information based on a design benchmark of a new program source, wherein the permission information indicates tokens, syntax, and character strings that are permitted to be used in the new program source, and the prohibition information indicates tokens, syntax, and character strings that are prohibited from being used in the new program source; A step of summarizing the first list, the permission information, and the prohibition information, and outputting the summed information as inspection information; a step of generating a tool for determining whether the permission information and the prohibition information are used in the current program source after maintenance; and The step of causing the test device to output the result of the determination and send the result of the determination to a server for generating the new program source when the test device for testing the current program source after the maintenance is operated. In the step of generating the tool, the following steps are included: A step of parsing the syntax of the current program source after maintenance and generating a second list of tokens and syntax for the current program source after maintenance; and The step of inputting the second list and the inspection information, determining the difference between the first list and the second list, determining whether the difference is classified as the permission information, and determining whether the difference is classified as the prohibition information, thereby determining whether the permission information and the prohibition information are used in the current program source after maintenance, The current program source is the source code of the program for the current system, and the new program source is the source code of the program for the new system. The current program source and the new program source use different program languages.

4. A recording medium storing a program, characterized in that: This program is used to make the computer function as the following unit: a first syntax analysis program unit that performs syntax analysis of a current program source before maintenance and generates a first list of tokens and syntax for the current program source before maintenance based on the syntax analysis; a setting unit that sets permission information and prohibition information based on a design benchmark of the new program source, wherein the permission information indicates tokens, syntax, and character strings that are permitted to be used in the new program source, and the prohibition information indicates tokens, syntax, and character strings that are prohibited to be used in the new program source; an editing unit that collects the first list output from the first parser unit and the permission information and the prohibition information output from the setting unit, and outputs the collected information as inspection information; and a tool generating unit for generating a tool for determining whether the permission information and the prohibition information are used in the current program source after maintenance, The tool generated by the tool generation unit has: a second syntax analysis program unit that performs syntax analysis of the current program source after maintenance and generates a second list of tokens and syntax for the current program source after maintenance; and a determination unit which receives the second list and the inspection information, determines a difference between the first list and the second list, determines whether the difference is classified as the permission information, and determines whether the difference is classified as the prohibition information, thereby determining whether the permission information and the prohibition information are used in the current program source after maintenance, When the test device for testing the maintained current program source is operated, the determination unit causes the test device to output a determination result of the determination unit and transmits the determination result to a server for generating the new program source. The current program source is the source code of the program for the current system, and the new program source is the source code of the program for the new system. The current program source and the new program source use different program languages.

Citation Information

Patent Citations

  • Program verifying device

    JP2011215998A

  • Code inspection executing system for performing a code inspection of ABAP source codes

    CN102804147A