Information processing apparatus, information processing method, and program
The information processing device automatically replaces libraries by analyzing module hierarchies, eliminating the need for manual code editing and preventing errors, ensuring efficient and error-free transitions between libraries.
Patent Information
- Application Number
- JP2023119238
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-21
- Publication Date
- 2025-01-31
AI Technical Summary
The need to manually edit and rewrite source code when replacing a library like Pandas with a high-performance library leads to potential errors and inefficiencies, as well as the risk of infinite recursion.
An information processing device that automatically detects and replaces the first library with a second, high-performance library by analyzing the parent-child relationship of module hierarchies, ensuring compatibility without manual code editing.
Enables seamless library replacement without source code changes, preventing errors and infinite recursion, thus maintaining program consistency and efficiency.
Smart Images

Figure 2025016149000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Pandas is known as one of the libraries used for data analysis and data processing in the programming language Python (registered trademark) as a de facto standard library for data analysis. It is also known that high-performance libraries compatible with pandas that can execute processing faster than when pandas is used are used in place of pandas.
[0003] The high-performance libraries mentioned above maintain compatibility with pandas by using fallback functions. In high-performance libraries, implemented functions (methods) are called using an API (Application Programming Interface). On the other hand, when a function not implemented in a high-performance library is called, pandas is used. In this way, there are essentially no unimplemented functions (methods) in the high-performance library, achieving high compatibility.
[0004] However, if you want to use a high-performance library instead of pandas, you will have to edit the source code of the user program's modules, the high-performance library's modules, and modules of libraries other than the high-performance library.
[0005] As a related technique, Patent Document 1 discloses an information processing device that shortens the time required for temporarily modifying and restoring a program, such as firmware, used in collecting information for debugging, market research, etc. According to the information processing device of Patent Document 1, the source code of the program is rewritten so that a modified module is executed before executing a target module included in the program that has been read from a ROM (Read Only Memory) and expanded in a RAM (Random Access Memory). [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2010-257103 A Summary of the Invention [Problem to be solved by the invention]
[0007] However, editing the source code of a module can lead to problems such as writing the source code incorrectly, so editing the source code is something we want to avoid whenever possible.
[0008] Moreover, in the information processing device of Patent Document 1, the replaced module D (changed module) is called from a predetermined module B, and only the module C before replacement is called.
[0009] One example of the objective of the present disclosure is to eliminate the need to rewrite the source code of a module when using a highly functional library. [Means for solving the problem]
[0010] In order to achieve the above object, an information processing device according to one aspect of the present disclosure includes: a detection unit that detects whether or not a code that loads a module includes the first library when an interrupt process occurs to replace a first library with a second library that is compatible with the first library; a determination unit that, when a code for loading the first library is detected, refers to hierarchical information that indicates a parent-child relationship for loading a first module including the code for loading the first library, and determines whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; a reading unit that replaces the first library with the second library and reads it when the first library or the second library is not used in the upper layer module; The present invention is characterized by having the following.
[0011] In order to achieve the above object, an information processing method according to one aspect of the present disclosure includes: The information processing device includes: detecting whether the first library is included in a module loading code when an interrupt occurs to replace a first library with a second library that is compatible with the first library; when the code for loading the first library is detected, referring to hierarchical information indicating a parent-child relationship for loading a first module including the code for loading the first library, and determining whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; if the first library or the second library is not used in the module of the upper layer, the first library is replaced with the second library and read. It is characterized by:
[0012] Furthermore, in order to achieve the above object, a program according to one aspect of the present disclosure includes: The computer when an interrupt occurs to replace a first library with a second library that is compatible with the first library, detecting whether the first library is included in a module loading code; when the code for loading the first library is detected, referring to hierarchical information indicating a parent-child relationship for loading a first module including the code for loading the first library, and determining whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; If the first library or the second library is not used in the module of the upper layer, the first library is replaced with the second library and read. It is characterized by: Effect of the Invention
[0013] As described above, according to the present disclosure, even when a highly functional library is used, it is possible to eliminate the need to rewrite the source code of a module. [Brief description of the drawings]
[0014] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of an information processing device. [Diagram 2] FIG. 2 is a diagram illustrating an example of a system having an information processing device. [Diagram 3] FIG. 3 is a diagram for explaining an example of a command line for executing an interrupt process. [Figure 4] FIG. 4 is a diagram for explaining an example of the operation of the determination unit. [Diagram 5] FIG. 5 is a diagram for explaining an example of an operation for generating an interrupt processing unit. [Figure 6] FIG. 6 is a diagram for explaining an example of the operation of the interrupt process. [Figure 7] FIG. 7 is a diagram for explaining an example of the operation of the interrupt processing unit. [Figure 8]FIG. 8 is a diagram illustrating an example of a computer that realizes an information processing device in the embodiment and the modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0015] Hereinafter, an embodiment will be described with reference to the drawings. In the drawings described below, elements having the same or corresponding functions are denoted by the same reference numerals, and repeated description thereof may be omitted.
[0016] (Embodiment) The configuration of an information processing device in an embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram for explaining an example of the configuration of an information processing device.
[0017] [Device configuration] The information processing device shown in Fig. 1 is a device that can eliminate the need to rewrite the source code of a module even when a highly functional library is used. The information processing device 10 shown in Fig. 1 also has a detection unit 11, a determination unit 12, and a reading unit 13.
[0018] A detection unit 11 detects whether or not the first library is included in a code for loading a module when an interrupt process occurs to replace a first library with a second library compatible with the first library.
[0019] The user program and the first library are written in a programming language such as Python. However, the programming language is not limited to Python. In addition, in the case of Python, the first library is, for example, pandas, which is one of the Python libraries. However, the first library is not limited to pandas. The second library is a library with higher functionality than the first library. A library with higher functionality is, for example, a library that can execute processing faster than when the first library is used.
[0020] When code that loads a first library is detected, the judgment unit 12 refers to hierarchical information representing the parent-child relationship of the loading of the first module that includes the code that loads the first library, and judges whether or not the first library or the second library is being used in a module at a higher hierarchy than the first module.
[0021] The hierarchical information is a log showing the parent-child relationship of module loading, for example, a list of file paths of modules, as shown below.
[0022] <list of file paths> / lib / python3 / site-packages / pandas / __init__.py / lib / python3 / site-packages / pandas / core / api.py / lib / python3 / site-packages / pandas / core / groupby / __init__.py / lib / python3 / site-packages / pandas / core / groupby / groupby.py / lib / python3 / site-packages / pandas / core / groupby / generic.py / lib / python3 / site-packages / pandas / core / groupby / ops.py / lib / python3 / site-packages / pandas / core / groupby / grouper.py
[0023] The above list shows that modules are loaded in order from top to bottom. First, "pandas / __init__" loads "pandas / core / api.py", which in turn loads "pandas / core / groupby / __init__", which in turn loads "pandas / core / groupby / groupby.py".
[0024] Note that "__init__" is the first file to be loaded when you specify that an entire folder should be loaded as a module. For example, if you specify that a folder called pandas should be loaded, Python will first look for "pandas / __init__".
[0025] If the first library or the second library is not used in a module in a higher hierarchy, the reading unit 13 reads the first library by replacing it with the second library.
[0026] In this manner, in the embodiment, the first library is automatically replaced with the second library (high-performance library), so that even when the second library is used, there is no need to rewrite the source code of the module.
[0027] Furthermore, if the source code of a module is edited manually, mistakes such as writing the source code incorrectly may occur. Therefore, manual editing of the source code is avoided as much as possible.
[0028] For example, when rewriting source code and then reverting it back, it can become inconsistent, you might execute a bulk edit command with the wrong format, forget that you copied a file for a second library and end up editing the wrong file, and various other editing mistakes can occur.
[0029] However, in the embodiment, the first library can be automatically replaced with the second library, making it unnecessary to edit the source code.
[0030] Furthermore, if the first library is loaded in a module after it has been replaced with the second library (for example, when using a fallback function), an infinite recursion will occur.
[0031] However, in the embodiment, it is possible to prevent the library from being replaced with the second library, thereby preventing infinite recursion.
[0032] [System Configuration] Next, the configuration of the information processing device 10 in the embodiment will be described in more detail with reference to Fig. 2. Fig. 2 is a diagram for explaining an example of a system having an information processing device.
[0033] 2 includes an information processing device 10, a terminal device 20, and a storage device 30. The information processing device 10, the terminal device 20, and the storage device 30 are electrically connected to each other via a network. However, the system is not limited to the configuration of the system 100 shown in FIG. 2.
[0034] The network is a general network constructed using communication lines such as the Internet, a LAN (Local Area Network), a dedicated line, a telephone line, an in-house network, a mobile communication network, Bluetooth (registered trademark), or Wi-Fi (Wireless Fidelity) (registered trademark).
[0035] The information processing device 10 is, for example, an information processing device such as a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with any one or more of these, a server computer, or the like.
[0036] The terminal device 20 is, for example, an information processing device such as a personal computer equipped with a CPU, an FPGA, or both, a mobile terminal, etc. The terminal device 20 also has an input unit 21 and an output unit 22.
[0037] The input unit 21 is, for example, a device such as a touch panel, a mouse, or a keyboard. The output unit 22 acquires output information (described later) that has been converted into an outputtable format, and outputs images and sounds generated based on the output information. The output unit 22 is, for example, an image display device using a liquid crystal, an organic EL (Electro Luminescence), or a CRT (Cathode Ray Tube). Furthermore, the image display device may include an audio output device such as a speaker. The output unit 22 may also be a printing device such as a printer.
[0038] The storage device 30 is a database, a server computer, a circuit having a memory, etc. The storage device 30 stores, for example, at least information such as a user program and a module. In the example of Fig. 2, the storage device 30 is provided outside the information processing device 10, but may be provided inside the information processing device 10.
[0039] 2 shows the system 100, the information processing device 10 may be used without constructing the system 100. In that case, the information processing device 10 may be, for example, a personal computer, a mobile terminal, or the like.
[0040] The information processing device will be described in detail. The information processing device 10 includes a generating unit 14, an executing unit 15, a detecting unit 11, a determining unit 12, and a reading unit 13.
[0041] Before executing a user program, the generating unit 14 generates an interrupt processing unit and places the generated interrupt processing unit in front of the reading unit 13. The interrupt processing unit is used to replace the first library with the second library. The interrupt processing unit is composed of a detecting unit 11 and a judging unit 12.
[0042] In this way, the interrupt processing unit is provided before the reading unit 13, and the module is read based on the processing result of the interrupt processing unit. In this way, it is possible to realize interrupt processing that replaces the first library with the second library throughout the entire user program.
[0043] The execution unit 15 executes the user program using interpreter software. In the case of Python, for example, the execution unit 15 executes the user program using software called the Python interpreter.
[0044] For example, when executing a user program in python3, a command line with a monkey patch applied as shown in FIG. 3 is entered. FIG. 3 is a diagram for explaining an example of a command line for executing interrupt processing. Command line 31 in FIG. 3 is a command line for executing a user program (myprogram.py) in python3. Code 32 is a command line that sets an import hook "-m importhook "ducks.pandas as pandas"" in the user program (myprogram.py).
[0045] When a code for loading a module is detected, the loading unit 13 loads the module. For example, in the case of Python, after an import statement is detected as code for loading a module, the loading unit 13 loads the module to be loaded that is included in the import statement.
[0046] The detection unit 11 first detects whether or not the code for loading a module includes the code for loading the first library when an interrupt process occurs to replace a first library with a second library that is compatible with the first library.
[0047] Next, if the detection result of the detection unit 11 indicates that the source code of the acquired module does not include a code for loading the first library, the detection unit 11 instructs the loading unit 13 to load the acquired module.
[0048] After that, the reading unit 13 reads a module (a module different from the first library and the second library) included in the code for reading the module.
[0049] When the detection result of the detection unit 11 indicates that the source code of the acquired module contains code for loading a first library, the judgment unit 12 refers to hierarchical information representing the parent-child relationship of the module loading, and judges whether or not the first library or the second library is used in a module at a higher hierarchy than the first library loading hierarchy.
[0050] Fig. 4 is a diagram for explaining an example of the operation of the determination unit. In the example of Fig. 4, when the target module is a user program, a code for loading a first library (pandas) is included. In addition, since there is no hierarchy higher than the loading hierarchy of the first library, it is determined that the first library (pandas) can be replaced with the second library (ducks).
[0051] Next, if the target module (ducks.pandas.frame) contains code that loads the first library (pandas), the system searches the hierarchy above the first library's loading hierarchy (ducks.pandas.frame) (ducks.pandas → ducks → user program). As a result, it is determined that the target module (ducks.pandas.frame) is part of the second library (ducks) and cannot be replaced.
[0052] Next, the determination unit 12 instructs the reading unit 13 to read the second library based on the determination result. After that, the reading unit 13 reads the second library.
[0053] Furthermore, when the first library or the second library is used in a module at a higher level than the reading level of the first library, the determination unit 12 determines not to replace the first library with the second library.
[0054] Next, the determination unit 12 instructs the reading unit 13 to read the first library based on the determination result. After that, the reading unit 13 reads the first library.
[0055] [Device operation] Next, the operation of the information processing device in the embodiment will be described with reference to Fig. 5 to Fig. 7. Fig. 5 is a diagram for explaining an example of the generation operation of the interrupt processing unit. Fig. 6 is a diagram for explaining an example of the interrupt processing operation. Fig. 7 is a diagram for explaining an example of the operation of the interrupt processing unit.
[0056] In the following description, appropriate reference will be made to the drawings. In the embodiments, an information processing method is implemented by operating an information processing device. Therefore, the description of the information processing method in the embodiments will be replaced with the description of the operation of the information processing device below.
[0057] ● Generation of interrupt handler As shown in FIG. 5, first, the generating unit 14 generates an interrupt processing unit (the detecting unit 11, the determining unit 12, and the replacing unit 13) before executing a user program (step A1).
[0058] Next, the generation unit 14 provides the generated interrupt processing unit in front of the reading unit 13 (step A2). Specifically, in step A2, the generation unit 14 causes the reading unit 13 to read a module based on the processing result of the generated interrupt processing unit.
[0059] Operation of the interrupt processing unit 6, the execution unit 15 executes a user program. Next, when an interrupt related to reading of a first library occurs during execution of the program (step B1: Yes), the interrupt processing unit executes the interrupt processing (step B2).
[0060] If an interrupt related to reading of the first library has not occurred (step B1: No), the program continues to be executed.
[0061] Next, the interrupt process of step B2 will be described. As shown in Fig. 7, first, when an interrupt process occurs to replace a first library with a second library compatible with the first library, the detection unit 11 detects whether or not the code to read the module includes the code to read the first library (step C1).
[0062] Next, if the detection result of the detection unit 11 is that the source code of the acquired module does not include code to load the first library (step C1: No), the detection unit 11 instructs the loading unit 13 to load the acquired module.
[0063] After that, the reading unit 13 reads a module (a module different from the first library and the second library) included in the code for reading the module (step C2).
[0064] Furthermore, if the detection unit 11 detects that the source code of the acquired module includes a code for reading the first library (step C1: Yes), the determination unit 12 executes a determination process (step C3).
[0065] The determination process in step C3 refers to hierarchical information that indicates the parent-child relationship of module loading, and determines whether the first library or the second library is used in a module at a higher level than the loading level of the first library.
[0066] Next, based on the determination result (replacement possible) in step C3 (step C4: Yes), the determination unit 12 instructs the reading unit 13 to read the second library. After that, the reading unit 13 reads the second library (step C5).
[0067] Furthermore, if the first library or the second library is used in a module at a higher level than the level at which the first library is read, it is determined not to replace the first library with the second library.
[0068] Next, based on the determination result (replacement not possible) in step C3 (step C4: No), the determination unit 12 instructs the reading unit 13 to read the first library. After that, the reading unit 13 reads the first library (step C2).
[0069] [Effects of the embodiment] As described above, according to the embodiment, the first library can be automatically replaced with the second library (high-performance library), so that even when the second library is used, it is not necessary to rewrite the source code of the module.
[0070] Furthermore, in the embodiment, the first library can be automatically replaced with the second library, making it unnecessary to edit the source code.
[0071] Furthermore, in the embodiment, it is possible to prevent replacement with the second library, thereby preventing infinite recursion.
[0072] (Modification) A modified example will now be described. Since the processing of the determination unit 12 takes time, most of the related libraries may be pre-loaded and cached before the program is executed. The related libraries are the first library and the second library.
[0073] [program] The program in the embodiment may be a program that causes a computer to execute steps A1 to A2 shown in Fig. 5, steps B1 to B2 shown in Fig. 6, and steps C1 to C5 shown in Fig. 7. By installing and executing this program in a computer, the information processing device and information processing method in the embodiment can be realized. In this case, the processor of the computer functions as the generating unit 14, the executing unit 15, the detecting unit 11, the determining unit 12, and the reading unit 13, and performs the processing.
[0074] The program in the embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any one of the generating unit 14, the executing unit 15, the detecting unit 11, the determining unit 12, and the reading unit 13.
[0075] [Physical configuration] Here, a computer that realizes an information processing device by executing a program in the embodiment and the modified example will be described with reference to Fig. 8. Fig. 8 is a diagram for explaining an example of a computer that realizes an information processing device in the embodiment and the modified example.
[0076] 8, the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These components are connected to each other via a bus 121 so as to be able to communicate data with each other. Note that the computer 110 may include a GPU or an FPGA in addition to the CPU 111 or instead of the CPU 111.
[0077] The CPU 111 loads a program in the embodiment, which is composed of a group of codes and is stored in the storage device 113, into the main memory 112, and executes each code in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
[0078] Moreover, the program in the embodiment is provided in a state stored in a computer-readable recording medium 120. Note that the program in the embodiment may be distributed on the Internet connected via the communication interface 117.
[0079] Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse. The display controller 115 is connected to a display device 119 and controls the display on the display device 119.
[0080] Data reader / writer 116 mediates data transmission between CPU 111 and recording medium 120, reads programs from recording medium 120, and writes processing results in computer 110 to recording medium 120. Communication interface 117 mediates data transmission between CPU 111 and other computers.
[0081] Specific examples of recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as a flexible disk, or optical recording media such as a CD-ROM (Compact Disk Read Only Memory).
[0082] The information processing device 10 in the embodiment can be realized not by a computer with a program installed, but by hardware corresponding to each part, for example, an electronic circuit. Furthermore, the information processing device 10 may be partially realized by a program and the remaining part by hardware. In the embodiment, the computer is not limited to the computer shown in FIG. 8.
[0083] [Note] The following supplementary notes are further disclosed regarding the above-described embodiments. A part or all of the above-described embodiments can be expressed by (Supplementary Note 1) to (Supplementary Note 12) described below, but are not limited to the following descriptions.
[0084] (Appendix 1) a detection means for detecting whether or not a code for loading a module includes the first library when an interrupt process for replacing a first library with a second library compatible with the first library occurs; a determination means for, when a code for loading the first library is detected, referring to hierarchical information representing a parent-child relationship for loading a first module including the code for loading the first library, determining whether or not the first library or the second library is being used in a module at a higher hierarchical level than the first module; a reading means for reading the first library by replacing it with the second library when the first library or the second library is not used in the upper layer module; An information processing device having the above configuration.
[0085] (Appendix 2) the reading means reads the first library when the first library or the second library is present in the module of the higher hierarchy; 2. An information processing device according to claim 1.
[0086] (Appendix 3) Furthermore, before executing the user program, the detection means and the determination means are generated. 2. An information processing device according to claim 1.
[0087] (Appendix 4) The first library is the Python library pandas. 4. An information processing device according to any one of claims 1 to 3.
[0088] (Appendix 5) The information processing device includes: detecting whether the first library is included in a module loading code when an interrupt occurs to replace a first library with a second library that is compatible with the first library; when the code for loading the first library is detected, referring to hierarchical information indicating a parent-child relationship for loading a first module including the code for loading the first library, and determining whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; if the first library or the second library is not used in the module of the upper layer, the first library is replaced with the second library and read. Information processing methods.
[0089] (Appendix 6) If the first library or the second library is present in the module at the higher level, the first library is read. 6. An information processing method as described in Appendix 5.
[0090] (Appendix 7) The information processing device includes: and generating an interrupt processing unit that executes the detection and the determination before executing the user program. 6. An information processing method as described in Appendix 5.
[0091] (Appendix 8) The first library is the Python library pandas. 8. An information processing method according to any one of appendix 5 to 7.
[0092] (Appendix 9) On the computer, when an interrupt occurs to replace a first library with a second library that is compatible with the first library, detecting whether the first library is included in a module loading code; when the code for loading the first library is detected, referring to hierarchical information indicating a parent-child relationship for loading a first module including the code for loading the first library, and determining whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; If the first library or the second library is not used in the module of the upper layer, the first library is replaced with the second library and read. program.
[0093] (Appendix 10) If the first library or the second library is present in the module at the higher level, the first library is read. 9. The program described in Appendix 9.
[0094] (Appendix 11) The program is then installed on the computer. and generating an interrupt processing unit that executes the detection and the determination before executing the user program. 10. An information processing method as described in Supplementary Note 9.
[0095] (Appendix 12) The first library is the Python library pandas. 12. An information processing method according to any one of claims 9 to 11.
[0096] Although the invention has been described above with reference to the embodiments, the invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the invention within the scope of the invention. [Industrial Applicability]
[0097] According to the above description, the first library can be automatically replaced with the second library (high-performance library), so that even when using the second library, it is not necessary to rewrite the source code of the module. Also, this is useful in fields where library loading is required. [Explanation of symbols]
[0098] 10. Information processing device 11 Detection section 12 Judgment section 13 Reading section 14 Generation part 15 Executive Department 20 Terminal Equipment 21 Input section 22 Output section 30 Storage device 100 Systems 110 Computer 111 CPU 112 Main memory 113 Storage device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Devices 119 Display device 120 Recording media 121 Bus
Claims
1. a detection means for detecting whether or not a code for loading a module includes the first library when an interrupt process for replacing a first library with a second library compatible with the first library occurs; a determination means for, when a code for loading the first library is detected, referring to hierarchical information representing a parent-child relationship for loading a first module including the code for loading the first library, determining whether or not the first library or the second library is being used in a module at a higher hierarchical level than the first module; a reading means for reading the first library by replacing it with the second library when the first library or the second library is not used in the upper layer module; An information processing device having the above configuration.
2. the reading means reads the first library when the first library or the second library is present in the module of the higher hierarchy; The information processing device according to claim 1 .
3. The apparatus further includes a generating means for generating the detecting means and the determining means before executing a user program, and disposing the generating means in a stage preceding the reading means. The information processing device according to claim 1 .
4. The first library is the Python library pandas.
4. The information processing device according to claim 1.
5. The information processing device includes: detecting whether the first library is included in a module loading code when an interrupt occurs to replace a first library with a second library that is compatible with the first library; when the code for loading the first library is detected, referring to hierarchical information indicating a parent-child relationship for loading a first module including the code for loading the first library, and determining whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; if the first library or the second library is not used in the module of the upper layer, the first library is replaced with the second library and read. Information processing methods.
6. On the computer, when an interrupt occurs to replace a first library with a second library that is compatible with the first library, detecting whether the first library is included in a module loading code; when the code for loading the first library is detected, referring to hierarchical information indicating a parent-child relationship for loading a first module including the code for loading the first library, and determining whether or not a module in a higher hierarchical level than the first module uses the first library or the second library; If the first library or the second library is not used in the module of the upper layer, the first library is replaced with the second library and read. program.
Citation Information
Patent Citations
Information processing apparatus and method for rewriting program thereof
JP2010257103A