Inconsistency identification device, inconsistency identification method, and computer program
The inconsistency identification device automates the detection and correction of logic-module inconsistencies in application development, addressing the challenge of manual inspection and reducing development costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NEC CORP
- Filing Date
- 2022-09-26
- Publication Date
- 2026-06-23
AI Technical Summary
In application development, inconsistencies in argument settings and return values between logic generated by visual modeling and modules created by other developers can lead to malfunctions, which are difficult to detect and costly to correct due to the need for manual source code inspection and testing.
An inconsistency identification device that analyzes argument and return value settings between logic and modules, determining inconsistencies and outputting location information for correction.
Automates the detection of inconsistencies, reducing manual effort and costs associated with checking logic-module consistency, and identifying problematic locations for correction.
Smart Images

Figure 0007877989000001 
Figure 0007877989000002 
Figure 0007877989000003
Abstract
Description
Technical Field
[0001] The present invention relates to a technology related to the development of application programs.
Background Art
[0002] In the development of application programs (applications), due to the progress of DX (Digital Transformation), there is an increasing demand for shortening the release cycle corresponding to business speed and improving the customer experience with the latest UX (User Experience). In addition, in the development of applications, it is also required to follow the rapidly evolving cloud architecture and cloud-native technologies, as well as de facto technologies such as security standards.
[0003] Also, as one of the situations regarding the development of applications, there is a situation where there is a shortage of the latest technical personnel and the human resource is limited. In such a situation, as a means to achieve the efficiency improvement, automation, and following the latest UX and de facto technologies in the development of applications, low-code platforms have attracted attention. A low-code platform is one that enables program development through visual modeling using a GUI (Graphical User Interface) instead of program development centered on coding in a programming language. By utilizing a low-code platform, even a person who is not familiar with a programming language can be involved in the development of an application. Therefore, the low-code platform can be said to be one of the methods to address the shortage of human resources in the development of applications.
[0004] Note that Patent Document 1 (Japanese Patent Laid-Open No. 11-39145) discloses a technology related to visual modeling that can design an application without generating source code.
Prior Art Documents
[0005] [Patent Document 1] Japanese Patent Application Publication No. 11-39145 [Overview of the Initiative] [Problems that the invention aims to solve]
[0006] Incidentally, in application development, programs are often generated in units of processing, and these processing units are treated as modules (in other words, components). By sharing modules among multiple developers, the efficiency of application development (program generation) and the prevention of variations in module quality can be improved compared to when multiple developers each generate modules that perform the same processing.
[0007] For these reasons, application developers may use modules created by other developers, such as open-source software or paid libraries provided by vendors. In such cases, the following problems may occur.
[0008] In other words, in the logic under development generated by the application developer (i.e., the program representing the flow of processing in the application), there will be places where an existing module created by another developer is called. In these places, arguments are passed from the logic to the called module. There may be cases where these arguments (data) are not data that the called module can accept. That is, the range of numerical values or the content of character data that the logic passes to the module as arguments are predetermined on the logic side. On the other hand, the range of numerical values or the content of character data that the module accepts as arguments are also predetermined on the module side. When the logic developer and the module developer are different people, discrepancies may occur in the settings regarding such arguments between the logic side and the module side.
[0009] Furthermore, after a module executes a process, the result of that process is returned from the module to the logic as a return value. This return value may be a value that the logic did not expect. In other words, the logic has pre-defined ranges of numerical values or character data content that will be returned to the module as a return value, but sometimes the module returns a value that deviates from these predefined return value settings.
[0010] If inconsistencies between logic and modules occur due to discrepancies in the settings regarding arguments and return values as described above, applications containing such logic and modules will cause malfunctions in the computer system.
[0011] To avoid such situations, application development involves visually inspecting the program's source code and conducting tests to run the application on a device to verify that the device operates without problems. However, visually checking the program's source code to verify the consistency of logic and modules is time-consuming and labor-intensive (in other words, it is costly). Furthermore, if a problem is found during the device operation verification test, it is necessary to identify and correct the source of the problem in the application, which is a rework step in the application development process and increases labor costs.
[0012] Furthermore, while logic may be generated without using source code, such as through a low-code platform, modules may be generated using source code. In such cases, because the methods for generating logic and modules differ, it can be difficult for the logic developer to understand the module's source code. Moreover, the logic developer may be a user of a low-code platform and lack source code language skills. In this case, there is a problem in that the logic developer cannot check the module's source code.
[0013] This invention was conceived to solve the above problems. In other words, the main objective of this invention is to provide a technology that can suppress problems arising from the task of checking the consistency between logic generated using visual modeling and the modules that the logic calls. [Means for solving the problem]
[0014] To achieve the above objective, the inconsistency identification device according to the present invention, in one embodiment, An acquisition unit acquires argument setting information regarding arguments output from logic generated by visual modeling, and argument acceptance information regarding the acceptance of arguments in the module that is the output destination of the arguments generated by the source code, and also acquires return value output information regarding the output of return values returned from the module to the logic, and return value setting information regarding the return values in the logic, A determination unit that determines whether the argument setting information and the argument receiving information satisfy predetermined argument consistency conditions, and also determines whether the return value output information and the return value setting information satisfy predetermined return value consistency conditions, In at least one of the cases where the argument setting information and the argument receiving information are determined not to satisfy the argument consistency condition, or where the return value output information and the return value setting information are determined not to satisfy the return value consistency condition, the logic outputs information representing the module call location where the argument is passed to the module as inconsistency location identification information. It is equipped with.
[0015] Furthermore, the method for identifying inconsistencies according to the present invention, in one embodiment, By computer, The system obtains argument setting information regarding the arguments output from the logic generated by visual modeling, and argument acceptance information regarding the acceptance of arguments in the module that is the output destination of the arguments generated by the source code, and also obtains return value output information regarding the output of the return value returned from the module to the logic, and return value setting information regarding the return value in the logic, Determine whether the argument setting information and the argument receiving information satisfy the predetermined argument consistency conditions, and also determine whether the return value output information and the return value setting information satisfy the predetermined return value consistency conditions. If it is determined that the argument setting information and the argument receiving information do not satisfy the argument consistency condition, or if it is determined that the return value output information and the return value setting information do not satisfy the return value consistency condition, the logic outputs information representing the module call location where the argument is passed to the module as inconsistency location identification information.
[0016] Furthermore, in one embodiment, the computer program according to the present invention is: The process involves obtaining argument setting information regarding arguments output from the logic generated by visual modeling, and argument acceptance information regarding the acceptance of arguments in the module that is the output destination of the arguments and is generated by the source code, and also obtaining return value output information regarding the output of the return value returned from the module to the logic, and return value setting information regarding the return value in the logic. The process includes determining whether the argument setting information and the argument receiving information satisfy predetermined argument consistency conditions, and determining whether the return value output information and the return value setting information satisfy predetermined return value consistency conditions. When it is determined that at least one of the cases where the argument setting information and the argument reception information do not satisfy the argument matching condition and the case where the return value output information and the return value setting information do not satisfy the return value matching condition occurs, the process of outputting, as inconsistent location specifying information, information representing the module call location where the logic passes the argument to the module is executed by a computer.
Advantageous Effects of Invention
[0017] According to the present invention, it is possible to suppress problems caused by the work of checking the consistency between the logic generated using visual modeling and the module called by the logic.
Brief Description of Drawings
[0018] [Figure 1] It is a diagram for explaining the configuration of the inconsistent location specifying device according to the first embodiment of the present invention. [Figure 2] It is a diagram for explaining visual modeling. [Figure 3] It is a diagram for explaining consistency check information. [Figure 4] It is a flowchart for explaining an operation example of the inconsistent location specifying device according to the first embodiment. [Figure 5] It is a block diagram for explaining the configuration of the inconsistent location specifying device according to other embodiments. [Figure 6] It is a flowchart for explaining an operation example of the inconsistent location specifying device according to other embodiments.
Modes for Carrying Out the Invention
[0019] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0020] <First Embodiment> Figure 1 is a diagram illustrating the configuration of an inconsistency identification device according to the first embodiment of the present invention. This inconsistency identification device 1 has the function of determining whether the logic of an application program and the module called by the logic are consistent in terms of arguments and return values, and if they are not consistent, it outputs information representing the location where the module is called in the logic (module call location). Here, logic refers to a program (computer program) that represents the processing procedure in an application program. In this case, the logic is generated by visual modeling. Visual modeling is a method of generating a program using a GUI (Graphical User Interface) as shown in Figure 2, without using source code. In contrast, a module here refers to a program that is a processing unit generated by source code, and is also called a library. An application developer may use a module generated by another developer in the application they are generating.
[0021] The inconsistency identification device 1 of the first embodiment is a computer device and, as shown in Figure 1, is connected to an input device 3, an output device 4, and an analysis device 5. The input device 3 consists of a keyboard, mouse, touch panel, etc., and is a device that inputs information to the inconsistency identification device 1 by being operated by a user of the inconsistency identification device 1 (hereinafter also referred to as the user). The output device 4 is, for example, a display device, and outputs the information output from the inconsistency identification device 1 via screen display, sound, etc.
[0022] The analysis device 5 is a computer device that analyzes the logic and modules in an application, and has the function of extracting information about arguments and return values from both the logic and the modules. For its analysis, the analysis device 5 uses information provided by, for example, compiler or LCP (Low-Code Platform) software.
[0023] The argument information extracted from the logic by the analysis device 5 includes logic name information, call location identification information, and argument setting information. Logic name information represents the name of the logic. Call location identification information represents the location in the logic where a module is called, and this call location identification information is associated with information representing the called module (e.g., module name information). Argument setting information represents the settings for the arguments passed to the module at that call location. In other words, if the argument is a numerical value, the argument setting information represents the setting, such as "the argument will be set to a value greater than 100 and less than 200." Such argument setting information is associated with call location identification information that represents the call location to which the argument included in the information is passed. Note that arguments are not limited to numerical data; they may also be character data.
[0024] The information regarding arguments extracted from a module by the analysis device 5 includes information that associates module name information and argument acceptance information. Module name information is information that represents the name of the module. The module analyzed by the analysis device 5 is a module that is called from logic and is the output module for arguments passed from logic. Argument acceptance information is information that represents the settings that have been set in advance regarding the acceptance of such arguments. For example, if the argument is a number, the argument acceptance information represents the setting that "the value of the argument that the module accepts from logic (the value of the argument that can be accepted) is set to a value greater than 100 and less than 200."
[0025] The information regarding the return value extracted from the logic by the analysis device 5 includes return value setting information. The return value setting information represents the settings configured for the return value returned from the module to the logic. For example, if the return value is a number, the return value setting information represents the setting that "the value that the logic expects from the module as a return value is set to be greater than 50 and less than 150." Such return value setting information is associated with the call location identification information and logic name information related to the call to the module that outputs the return value contained in the information.
[0026] The information about the return value extracted from the module by the analysis device 5 includes return value output information. The return value output information represents the settings configured regarding the output of the return value returned from the module to the logic. For example, if the return value is a number, the return value output information represents the settings such as "the value that the module can return to the logic as a return value is a value greater than 0 and less than 200." Such return value output information is associated with the module name information of the module that outputs the return value contained in the information, and call location identification information that includes information about the call location of the logic where the arguments related to that return value were output.
[0027] Furthermore, the same module may be called at different points in the logic. In such cases, the settings regarding arguments and return values exchanged between the logic and the module may differ depending on where the module is called. For example, the analysis device 5 extracts the argument setting information, argument reception information, return value setting information, and return value output information from the logic or module for each module call in the logic.
[0028] The inconsistency identification device 1 of the first embodiment works in conjunction with the analysis device 5 described above to perform a process to identify inconsistencies between the application logic and the modules called by that logic. The configuration of this inconsistency identification device 1 is described below.
[0029] The inconsistency identification device 1 comprises an arithmetic unit 10 and a storage device 20. The storage device 20 has a storage medium for storing data and computer programs (programs) 21. There are many types of storage devices, such as magnetic disk drives and semiconductor memory elements, and furthermore, semiconductor memory elements have multiple types such as RAM (Random Access Memory) and ROM (Read Only Memory). The type of storage device 20 provided by the inconsistency identification device 1 is not limited to one. Computer devices are often equipped with multiple types of storage devices. Here, the type and number of storage devices 20 provided by the inconsistency identification device 1 are not limited, and their explanation is omitted. Also, if the inconsistency identification device 1 is equipped with multiple types of storage devices 20, they will be collectively referred to as storage device 20. In addition, it is conceivable that the inconsistency identification device 1 may be connected to an external storage device (database) and perform reading and writing of data to the external storage device, but here, even if reading and writing of data to the external storage device occurs, the explanation of this will be omitted.
[0030] The arithmetic unit 10 is composed of processors such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The arithmetic unit 10 can perform various functions based on the program 21 stored in the storage device 20 by reading and executing the program 21. Here, the arithmetic unit 10 has an acquisition unit 11, a determination unit 12, and an output unit 13 as functional units involved in the process of identifying inconsistencies between logic and modules (hereinafter also referred to as inconsistency identification processing).
[0031] The acquisition unit 11 acquires the logic and modules that are to be checked for inconsistency identification processing (i.e., the logic and the modules called by that logic) when they are input to the inconsistency identification device 1 by the user through the operation of the input device 3. The acquired logic and modules are stored, for example, in the storage device 20.
[0032] Furthermore, the acquisition unit 11 outputs the acquired logic and modules (applications) to the analysis device 5. The analysis device 5 then analyzes the logic and modules received from the acquisition unit 11 and extracts information about arguments and return values from the logic and modules as described above. The analysis device 5 then returns the extracted information about arguments and return values to the inconsistency identification device 1.
[0033] Furthermore, the acquisition unit 11 acquires information regarding the arguments and return values output from the analysis device 5. As a result, the acquisition unit 11 acquires argument setting information regarding the arguments output from the logic, argument reception information regarding the acceptance of arguments in the module, return value output information regarding the output of return values in the module, and return value setting information regarding the return values in the logic.
[0034] The determination unit 12 uses the information on arguments and return values obtained by the acquisition unit 11 to perform a determination process to determine whether the logic and the module called by the logic are consistent. In this determination process, the argument setting information and argument reception information are compared using consistency check information as described below, and the return value output information and return value setting information are also compared, and based on the comparison result, it is determined whether the logic and the module are consistent.
[0035] Integrity check information is information that includes checks to determine whether the logic and module are consistent, and is pre-generated and stored in the storage device 20. Figure 3 is a diagram illustrating an example of integrity check information. In the example in Figure 3, the integrity check information includes information that associates data types with check contents. The data types included in the integrity check information are data types that can be handled in the programming language, and are data types that are treated as arguments or return values. There are multiple data types such as Integer, long, String, Boolean, and Date, but their explanations are omitted here.
[0036] The checks describe how to compare argument setting information with argument reception information, and how to compare return value output information with return value setting information, and are set according to the data types of the arguments and return values. For example, if the arguments or return values are numeric, the checks may include checking whether the range of numeric settings for the receiving side of the arguments or return values included in the argument reception information and return value setting information includes the range of numeric settings for the output side of the arguments or return values included in the argument setting information and return value output information. In addition, depending on the data type, the checks may include checking whether the argument setting information (logic-side information regarding the arguments) and the argument reception information (module-side information regarding the arguments) partially match. Similarly, depending on the data type, the checks may include checking whether the return value setting information (logic-side information regarding the return values) and the return value output information (module-side information regarding the return values) partially match. In other words, the checks may include checking whether the logic-side information included in the argument setting information and return value setting information partially matches the module-side information included in the argument reception information and return value output information. Furthermore, depending on the data type, checks may include verifying whether the logic-side information contained in the argument setting information and return value setting information perfectly matches the module-side information contained in the argument acceptance information and return value output information. Such checks are set appropriately depending on the data types of the arguments and return values, and are not limited to the examples mentioned above.
[0037] The determination unit 12 compares the logic-side information contained in the argument setting information and return value setting information with the module-side information contained in the argument reception information and return value output information, according to the check contents included in the consistency check information described above. If the determination unit 12 determines that the logic and module are consistent with respect to the arguments or return values, it determines that the logic and module are consistent with respect to the arguments or return values. On the other hand, if the determination unit 12 determines that the logic and module are not consistent with respect to the arguments or return values (i.e., they are inconsistent (problematic)), it determines that the logic and module are not consistent with respect to the arguments or return values. In other words, the consistency check information used by the determination unit 12 can be said to include argument consistency conditions, which determine that the logic and module are consistent with respect to the arguments. Argument consistency conditions include, for example, conditions such as the argument setting information (logic-side information regarding arguments) and argument reception information (module-side information regarding arguments) being partially identical. Furthermore, the consistency check information can be said to include return value consistency conditions, which determine that the logic and module are consistent with respect to the return values. The return value consistency condition is, for example, a condition that the return value setting information (logic-side information regarding the return value) and the return value output information (module-side information regarding the return value) match.
[0038] The output unit 13 outputs an error message to the output device 4 if it determines that the logic and module are inconsistent (i.e., mismatched) with respect to at least one of the arguments and return values. In other words, the output unit 13 outputs an error message to the output device 4 if it determines that the argument setting information and argument reception information do not satisfy the argument consistency condition, or if it determines that the return value output information and return value setting information do not satisfy the return value consistency condition. The error message includes the name of the inconsistent logic and the name of the module, as well as inconsistency notification information and inconsistency location identification information. Inconsistency notification information is information that notifies that there is a location in the logic that is inconsistent with the module. Inconsistency location identification information is information that includes information representing the call location that calls the module that has been determined to be inconsistent in the logic. The information representing the call location that calls the module that has been determined to be inconsistent in the logic is information based on the call location identification information in the logic acquired by the acquisition unit 11 from the analysis device 5. The error message further includes information that represents the content of the inconsistent argument and return value settings. In other words, the error message also outputs information about argument settings and argument acceptance information that did not satisfy the argument consistency conditions, and information about return value settings and return value output information that did not satisfy the return value consistency conditions.
[0039] Upon receiving an error message, output device 4 reports that there is a module with inconsistencies regarding arguments or return values in the logic being checked, and provides information about the locations where the module with the inconsistency is called. The display mode (screen configuration) of output device 4 that provides such reports is not limited here and may be set as appropriate, and its explanation is omitted.
[0040] The inconsistency location identification device 1 of the first embodiment is configured as described above. Next, an example of the operation of the inconsistency identification process in the inconsistency location identification device 1 of the first embodiment will be explained with reference to Figure 4. Figure 4 is a flowchart showing an example of the operation of the inconsistency identification process in the inconsistency location identification device 1 of the first embodiment.
[0041] For example, if the logic and module to be checked are input to the inconsistency identification device 1 by the user operating the input device 3, the acquisition unit 11 of the arithmetic unit 10 receives the input logic and module to be checked (step 101 in Figure 4). Subsequently, the acquisition unit 11 outputs the logic and module to be checked to the analysis device 5 (step 102).
[0042] Then, if the analysis device 5 returns information regarding the arguments and return values extracted from the logic and module to be checked, the acquisition unit 11 acquires the information extracted from the logic and module to be checked (step 103).
[0043] Subsequently, the determination unit 12 begins the determination process. First, it combines the argument setting information and argument reception information, as well as the return value output information and return value setting information, with respect to the information extracted from the logic and module to be checked, which are compared in the determination process. It also determines whether or not the logic to be checked calls multiple modules (step 104). If the logic calls multiple modules (YES), the determination unit 12 selects one module as the module of interest from among the multiple modules called by the logic (step 105). The method for selecting the module of interest is not limited here, and its explanation is omitted. If the logic does not call multiple modules (NO), there is no need to select a module of interest, so the determination unit 12 does not perform the operation to select the module of interest (step 105) and proceeds to the next operation.
[0044] Subsequently, the determination unit 12 uses the logic and the information on arguments and return values extracted from the module of interest, along with the consistency check information stored in the memory device 20, to determine whether the module of interest and the logic are consistent with respect to the arguments and return values (step 106). In this consistency determination process, if the module of interest is called at multiple different locations in the logic, the consistency between the module of interest and the logic is determined for each call location. That is, for each call location, the determination unit 12 determines whether the argument setting information and argument reception information satisfy the argument consistency conditions based on the consistency check information. Furthermore, the determination unit 12 determines whether the return value setting information and return value output information satisfy the return value consistency conditions based on the consistency check information. If the consistency determination process of the determination unit 12 regarding the module of interest determines that the argument setting information and argument reception information do not satisfy the argument consistency conditions, or that the return value setting information and return value output information do not satisfy the return value consistency conditions (in the case of NO), the output unit 13 outputs an error message to the output device 4. The error message includes inconsistency notification information indicating that there is an inconsistency between the logic being checked and the module, and inconsistency location identification information indicating the location where the module that was determined to be inconsistent is called. Output device 4, upon receiving the error message, displays the error message.
[0045] On the other hand, if the consistency determination process of the determination unit 12 regarding the module of interest determines that the argument setting information and argument receiving information for all call locations of the module of interest satisfy the argument consistency conditions, and that the return value setting information and return value output information satisfy the return value consistency conditions (if YES), the determination unit 12 proceeds to the next operation.
[0046] In other words, the determination unit 12 determines whether there are any unprocessed modules that are called by the logic to be checked but have not undergone the determination process in step 106 (step 108). If there are unprocessed modules (YES), the determination unit 12, by the operation in step 105, sets the unprocessed module as the module of interest if there is only one unprocessed module. If there are multiple unprocessed modules, the determination unit 12 selects a module of interest from among those unprocessed modules. Then, the determination unit 12 performs the consistency determination process in step 106 for the new module of interest. The operations from step 105 onward are repeated in this manner, and if it is determined in step 108 that there are no unprocessed modules (NO), the determination unit 12 proceeds to the next operation.
[0047] In other words, the determination unit 12 determines whether or not there is any unprocessed logic that is subject to check but for which a determination process regarding consistency with the module has not been performed (step 109). In other words, there are cases where multiple logics are input to the inconsistency location identification device 1 as the logic to be checked. In such cases, the determination unit 12 determines in step 109 whether or not there is any unprocessed logic. If the determination unit 12 determines that there is any unprocessed logic (YES), it repeats the operations from step 104 onward with respect to that unprocessed logic. Subsequently, if the determination unit 12 determines in step 109 that there is no unprocessed logic (NO), the output unit 13 outputs a check completion message to the output device 4 indicating that the check for the logic and module subject to check has been completed (step 110). As a result, the output device 4 notifies that the check for consistency between the logic and module regarding arguments and return values has been completed.
[0048] As described above, the inconsistency identification device 1 of the first embodiment is configured to perform a process that determines whether the logic and the module called by the logic are consistent with respect to arguments and return values. This allows the inconsistency identification device 1 to eliminate the need for application developers to perform tedious tasks such as visually checking whether the logic under development and the module are consistent with respect to arguments and return values. Furthermore, since the inconsistency identification device 1 outputs information representing the call locations in the logic that were inconsistent with the module, users can easily obtain the locations of inconsistencies between the logic and the module. In other words, the inconsistency identification device 1 can reduce the cost of checking the consistency between logic and modules.
[0049] Furthermore, the analysis device 5 is capable of extracting information about arguments and return values not only from modules generated from source code, but also from logic generated by visual modeling. Since the inconsistency identification device 1 works in conjunction with such an analysis device 5, it can easily check the consistency of arguments and return values between the logic generated by visual modeling and modules generated by other developers. Moreover, the inconsistency identification device 1 can resolve the problem where logic developers lack the language skills to understand source code, making it impossible to read modules generated by other developers using source code and thus check the consistency between logic and modules.
[0050] Furthermore, the inconsistency identification device 1 can determine whether the logic in an application under development and the modules called by that logic are consistent in terms of arguments and return values, even if the application is not yet complete. Therefore, the inconsistency identification device 1 can reduce the need for rework during the application operation verification process, such as correcting inconsistencies between logic and modules if a malfunction occurs due to an inconsistency between logic and modules.
[0051] <Other Embodiments> The present invention is not limited to the first embodiment and can take various forms. For example, although the inconsistency identification device 1 of the first embodiment was linked with the analysis device 5, the inconsistency identification device may also have the functions of the analysis device 5. Furthermore, although the description of the first embodiment shows an example where the logic is generated by visual modeling, the inconsistency identification device 1 of the first embodiment can also be applied to logic generated by source code.
[0052] Figure 5 is a block diagram showing the configuration of a mismatch identification device according to another embodiment of the present invention. The mismatch identification device 30 in Figure 5 is, for example, a computer device and comprises an acquisition unit 31, a determination unit 32, and an output unit 33 as functional units realized by a computer program.
[0053] The acquisition unit 31 acquires argument setting information regarding arguments output from the logic generated by visual modeling, and argument acceptance information regarding the acceptance of arguments in the module that is the output destination for the arguments generated by the source code. The acquisition unit 31 also acquires return value output information regarding the output of return values returned from the module to the logic, and return value setting information regarding return values in the logic.
[0054] The determination unit 32 determines whether the argument setting information and argument reception information satisfy the predetermined argument consistency conditions. The determination unit 32 also determines whether the return value output information and return value setting information satisfy the predetermined return value consistency conditions.
[0055] The output unit 33 outputs inconsistency location identification information in at least one of the following cases: when it is determined that the argument setting information and argument receiving information do not satisfy the argument consistency condition, or when it is determined that the return value output information and return value setting information do not satisfy the return value consistency condition. The inconsistency location identification information includes information representing the module call location where the logic passes arguments to the module.
[0056] Next, an example of the operation of the inconsistency identification device 30 will be explained with reference to Figure 6. First, the acquisition unit 31 acquires information used for consistency determination to determine whether the logic and module are consistent (step 201). In other words, the acquisition unit 31 acquires the argument setting information, argument reception information, return value setting information, and return value output information as described above.
[0057] Subsequently, the determination unit 32 uses the information acquired by the acquisition unit 31, the argument consistency conditions, and the return value consistency conditions to determine whether the logic and the module are consistent (step 202). In other words, the determination unit 32 determines whether the argument setting information and argument reception information satisfy the argument consistency conditions. The determination unit 32 also determines whether the return value output information and return value setting information satisfy the return value consistency conditions. Subsequently, if it is determined that the argument setting information and argument reception information do not satisfy the argument consistency conditions, or if it is determined that the return value output information and return value setting information do not satisfy the return value consistency conditions, the output unit 33 outputs information identifying inconsistencies (step 203).
[0058] Since the inconsistency identification device 30 has the configuration described above, it can suppress problems caused by the process of checking the consistency between the logic generated using visual modeling and the modules that the logic calls. [Explanation of symbols]
[0059] 1.30 Inconsistency Identification Device 11,31 Acquisition Department 12,32 Judgment part 13,33 Output section
Claims
1. An acquisition unit acquires argument setting information regarding arguments output from logic generated by visual modeling, and argument acceptance information regarding the acceptance of the arguments in a module that is generated by source code and is the output destination of the arguments, and also acquires return value output information regarding the output of the return value returned from the module to the logic, and return value setting information regarding the return value in the logic, A determination unit that determines whether the argument setting information and the argument receiving information satisfy predetermined argument consistency conditions, and also determines whether the return value output information and the return value setting information satisfy predetermined return value consistency conditions, In at least one of the cases where the argument setting information and the argument receiving information are determined not to satisfy the argument consistency condition, or where the return value output information and the return value setting information are determined not to satisfy the return value consistency condition, the logic outputs information representing the module call location where the argument is passed to the module as inconsistency location identification information. A device for identifying mismatches, equipped with the necessary components.
2. The aforementioned logic has multiple module calls that pass arguments to the module. The acquisition unit acquires argument setting information, argument reception information, return value setting information, and return value output information for each module call location. The determination unit performs a determination process for each module call location using argument setting information, argument reception information, return value setting information, return value output information, argument consistency conditions, and return value consistency conditions. The device for identifying mismatched locations as described in claim 1.
3. If the output unit determines that the argument setting information and the argument reception information do not satisfy the argument consistency condition, it further outputs the argument setting information and the argument reception information that did not satisfy the argument consistency condition. If the output unit determines that the return value output information and the return value setting information do not satisfy the return value consistency condition, it further outputs the return value setting information and the return value output information that did not satisfy the return value consistency condition. The device for identifying mismatched locations as described in claim 1.
4. By computer, The system obtains argument setting information regarding the arguments output from the logic generated by visual modeling, and argument acceptance information regarding the acceptance of the arguments in the module that is the output destination of the arguments and is generated by the source code, and also obtains return value output information regarding the output of the return value returned from the module to the logic, and return value setting information regarding the return value in the logic, Determine whether the argument setting information and the argument receiving information satisfy the predetermined argument consistency conditions, and also determine whether the return value output information and the return value setting information satisfy the predetermined return value consistency conditions. A method for identifying inconsistencies, wherein, in at least one of the cases where the argument setting information and the argument receiving information are determined not to satisfy the argument consistency condition, and where the return value output information and the return value setting information are determined not to satisfy the return value consistency condition, the logic outputs information representing the module call location where the argument is passed to the module as inconsistency location identification information.
5. The process involves obtaining argument setting information regarding arguments output from logic generated by visual modeling, and argument acceptance information regarding the acceptance of those arguments in the module that is the output destination of those arguments and is generated by the source code, and also obtaining return value output information regarding the output of the return value returned from the module to the logic, and return value setting information regarding the return value in the logic. The process includes determining whether the argument setting information and the argument receiving information satisfy predetermined argument consistency conditions, and determining whether the return value output information and the return value setting information satisfy predetermined return value consistency conditions. If it is determined that the argument setting information and the argument receiving information do not satisfy the argument consistency condition, and if it is determined that the return value output information and the return value setting information do not satisfy the return value consistency condition, the logic outputs information representing the module call location where the argument is passed to the module as inconsistency location identification information. A computer program that causes a computer to execute a command.