WO2016092677A1 - モジュール分割支援装置、方法、及びプログラム - Google Patents
モジュール分割支援装置、方法、及びプログラム Download PDFInfo
- Publication number
- WO2016092677A1 WO2016092677A1 PCT/JP2014/082884 JP2014082884W WO2016092677A1 WO 2016092677 A1 WO2016092677 A1 WO 2016092677A1 JP 2014082884 W JP2014082884 W JP 2014082884W WO 2016092677 A1 WO2016092677 A1 WO 2016092677A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- category
- keyword
- function
- indivisible
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004364 calculation method Methods 0.000 claims abstract description 81
- 238000007405 data analysis Methods 0.000 claims abstract description 21
- 230000010365 information processing Effects 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 52
- 238000004891 communication Methods 0.000 description 10
- 238000012800 visualization Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 101100148830 Arabidopsis thaliana SCI1 gene Proteins 0.000 description 2
- 101100054266 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SNF4 gene Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007794 visualization technique Methods 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- -1 ITU Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/721—Modular inversion, reciprocal or quotient calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4436—Exlining; Procedural abstraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Definitions
- the present invention relates to a module division support apparatus, a module division support method, and a module division support program for determining whether a module in a source code, for example, function division is possible.
- Patent Document 1 proposes a method for determining whether or not a function to be determined should be separated from a file using a function evaluation rule (such as similarity of function names included in a file).
- the module visualization determination of the present invention has the following means.
- One aspect of the present invention is a module division that divides a module (for example, a group of functions / elements such as a function, a variable, and a macro) in a source code using an input device, an output device, an arithmetic device, and a storage device.
- the computing device can use the keyword category table and the indivisible degree calculation item list stored in the storage device or input from the input device.
- the keyword category table includes a plurality of sets of keywords and category data corresponding to the keywords. For example, a function related to a keyword can be used as a category. When the parts having the same or related functions are combined into one file as much as possible, the readability of the source code is improved. For this reason, it is easy to organize the source code by classifying keywords by focusing on functions.
- the keyword itself may be used as the category. In this case, keywords and categories correspond one-on-one. Although a more detailed analysis is possible, the examination of the results may be complicated. Further, the category may be hierarchized into two or more.
- the indivisible degree calculation item list includes a set of information on the indivisible degree calculation items between the first category and the second category of the categories, and information regarding the calculation method of the indivisible degree calculation items.
- the indivisible degree calculation item and its calculation method can define various rules based on empirical rules.
- the computing device includes a source code acquisition unit, a keyword acquisition unit, a data analysis unit, and a module division determination unit.
- the source code acquisition unit acquires a group of source codes and a source code to be visualized, which are stored in the storage device or input from the input device.
- the keyword acquisition unit identifies a keyword included in the module for each module in the group of source codes, and creates keyword usage data for each module.
- the keyword usage data for each module is a statistically aggregated relationship between keywords appearing in a group of modules of source code. In a group of source codes, the more data, the better the statistical accuracy, but the larger the data processing amount.
- the group of source codes is a set having a large relationship with the source code to be visualized. As a typical example, it is desirable to use a set of source codes belonging to a database or project to which a source code to be visualized belongs as a group of source codes.
- the data analysis unit uses the calculation method stored in the indivisible degree calculation item list, the data stored in the keyword use data for each module, and the information related to the category corresponding to the keyword included in the keyword category table.
- the indivisible degree for the category and the second category is calculated, and indivisible degree data is created.
- the inseparability between categories associated with keywords is databased as indivisible data.
- the module division determination unit identifies a keyword that exists in each module in the source code to be visualized, and corresponds to the first category and the second category having an inseparability below a predetermined threshold among the modules. Identify modules with keyword sets. This identified module is a candidate to be considered for partitioning.
- entity or information processing apparatus that makes the indivisible data into a database may be separate from the entity or information processing apparatus that determines module division.
- the data analysis unit when a function is used as a category, the data analysis unit, as an indivisible degree, relates to the degree of association between the first function and the second function, or between the first function and the second function. Calculate the percentage of usage order.
- the threshold value can be input from the input device by the operator each time. In this case, the threshold and the changed result can be confirmed in real time. Alternatively, a threshold value may be added in advance to each set of information in the indivisible degree calculation item list.
- the categories for keywords included in modules in the source code to be visualized are not limited to two, and there may be three or more categories.
- the module may be determined as a module that can be divided. Such a module is presumed to contain many unrelated parts, and it is desirable to consider division preferentially.
- a module narrowing judgment list defining a narrowing condition can be used.
- the module division determination unit can reduce the processing amount by performing the process of specifying the module corresponding to the narrowing-down condition.
- Various conditions can be determined empirically as narrowing conditions.
- Specific examples of module refinement conditions include the number of functions used or the number of keywords, the maximum number of lines between functions or keywords, LOC (Lines Of Code), the complexity that can be measured with various indicators, the number of revisions, and the last revision. It is possible to use the elapsed time, the number of people involved in the development, or the development level, experience, ability, etc. of the developer.
- module narrowing items that define narrowing conditions and module narrowing determination data that describes the module narrowing threshold for each item are provided.
- the data analysis unit calculates a module narrowing value according to the module narrowing item, and compares the module narrowing value with the module narrowing threshold value.
- the module division determination is performed when the module narrowing value is equal to or greater than the module narrowing threshold, and the module division determination is not performed when the module narrowing value is less than the threshold.
- a plurality of threshold values used for module division determination can be used, and various determination conditions can be combined. For example, even a module that is determined to be a module that can be divided by a single threshold value may be a module in which a plurality of function sets having a high degree of indivisibleness are inherently included.
- the module division determination unit has a function of extracting a set of functions having a high indivisible degree and determining an indivisible degree of the set of functions having a high indivisible degree. For this reason, it is conceivable to determine a module that can be divided when the inseparability between function sets is less than a predetermined threshold, and to determine a module that cannot be divided.
- Another aspect of the present invention is to acquire a source code acquisition unit for acquiring a source code to be visualized and a keyword described in the source code or development maintenance data related to the project to which the source code belongs.
- a keyword acquisition unit Further, a keyword category table in which keywords described in the module or function names to which the keywords belong is collected is used. Further, the keyword acquisition unit uses the keyword-specific data for each module that stores data related to the keyword usage for each acquired module while referring to the keyword category table. Also, an indivisible degree calculation item for functions and keywords, an indivisible degree calculation method, and an indivisible degree calculation item list in which thresholds are summarized are used.
- the separability is calculated using the separability data that stores the calculated value of the separability calculation item, the keyword usage data by module, and the separability calculation method described in the separability calculation item list.
- a data analysis unit that stores the calculation result in the indivisible data is used.
- a module division determination unit that performs module division determination by comparing the indivisible degree with a threshold acquired from the indivisible degree calculation item list or a threshold input by the user is provided.
- the device configuration described above may be configured by a single computer, or any part of the input device, output device, processing device, and storage device may be configured by another computer connected via a network. Also good. The idea of the invention is equivalent and unchanged.
- functions equivalent to those configured by software can also be realized by hardware such as FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated Circuit). Such an embodiment is also included in the scope of the present invention.
- a function indivisible degree is calculated using information on the function used by the module, and whether or not the module can be divided using the indivisible degree.
- notations such as “first”, “second”, and “third” are attached to identify the constituent elements, and do not necessarily limit the number or order.
- a number for identifying a component is used for each context, and a number used in one context does not necessarily indicate the same configuration in another context. Further, it does not preclude that a component identified by a certain number also functions as a component identified by another number.
- FIG. 1 is a diagram illustrating an example of the hardware and system configuration of the information processing apparatus 100 according to the first embodiment of the present invention.
- a central processing unit 101 As the hardware of the information processing apparatus 100, a central processing unit 101, an input device 102 such as a keyboard and a mouse, a secondary storage device 103, a main storage device 104, a display device 105 such as a display, and a communication device 107 are included. Each device is connected by a bus 106, and data can be transmitted and received between the devices.
- various information devices A110 and B120 such as an information processing device and a network storage that can store data. Between these, for example, a communication network such as the Internet 130 is connected.
- FIG. 2 is a diagram illustrating an example of functional blocks of the information processing apparatus 100, the information apparatus A110, and the information apparatus B120 according to the first embodiment of the present invention.
- all the functional blocks of the information processing apparatus 100 are described as software programs and data executed or operated by the central processing unit 101, but some or all of them are realized as hardware. May be.
- the information processing apparatus 100 includes a source code acquisition unit 200, a keyword acquisition unit 201, a data analysis unit 202, a function division determination unit 203, a drawing, as illustrated in FIG.
- the information device A110 has a source code group 206 and a source code A207 related to the project A.
- the source code A207 is composed of partial programs such as functions and variables.
- the information device B120 includes a source code group 208 and a source code B209 related to the project B.
- the source code B209 is composed of partial programs such as functions and variables. Note that the source code group 206, the source code A207, the source code group 208, and the source code B209 related to the project A are not necessarily located in the above-described places, and the information processing apparatus 100, the information apparatus A110, and the information apparatus B120 are not necessarily located. Or any other accessible information processing apparatus.
- FIG. 3 shows an example of the keyword category table 212.
- the keyword category table 212 stores a keyword 3001 described in the function and a function name 3002 to which the keyword belongs.
- SCI0, SCI1, ITU, and CMT are described as keywords.
- the function name to which SCI0 and SCI1 belong is described as communication, and the function name to which ITU and CMT belong is described as a timer.
- the keyword category table 212 can be created by a software vendor. Alternatively, the software user may categorize the keywords by himself / herself.
- the keyword acquisition unit 201 acquires macro and keyword information set in the source code and development / maintenance data related to the source code, and stores the information in the function-specific keyword use data 213. Used when. Information stored in the function-specific keyword use data 213 will be described later.
- FIG. 4 shows an example of function-specific keyword use data 213.
- the function-specific keyword use data 213 stores data 4002 related to the use of the keyword 3001 for each function 4001 included in the source code group related to the project A of the information device A, for example.
- the keyword acquisition unit 201 describes the number of times of use of the keyword 3001 described in the keyword category table 212 for each function. The number of times a keyword is used is counted once for each sentence in which the keyword is used, or once when the keyword is used y times between x rows, or multiple counting methods. Can be considered. Such a counting process can be automatically performed by searching and extracting the keywords shown in the keyword category table 212 with respect to the source code of each function.
- the data to be stored is not limited to the number of times the keyword is used, and any data can be stored. What kind of data is stored may be determined in advance by the system, or may be determined flexibly based on information such as user input. In this example, data on the number of times of use is stored in units of keywords 3001, but the data is not limited to units of keywords, and may be stored in units of functions 3002.
- FIG. 5 shows an example of the indivisible degree calculation item list 214.
- the indivisible degree calculation item list 214 stores an item 5001 used for calculating the indivisible degree of the function, an indivisible degree calculation method 5002 for the item, and an indivisible degree threshold 5003 for the item.
- the user selects the item 5001 used in the indivisible degree calculation.
- the indivisible degree calculation method 5002 stored in the indivisible degree calculation item list 214 (FIG. 5) and the data stored in the function-specific keyword use data 213 (FIG. 4)
- the indivisible degree calculation item 5001 selected by the user is used.
- the degree is calculated, and the calculated indivisible degree is stored in the indivisible degree data 215 (FIG. 6).
- the calculation indivisible degree is used when determining whether or not the function division determination target function can be divided.
- indivisible degree calculation item 5001 “function relevance” and “ratio of function use order” are listed.
- “Function relevance (relationship between function A and function B)” indicates the number of functions belonging to the keyword belonging to function A and the keyword belonging to function B, the keyword belonging to function A or the keyword belonging to function B. Calculate by dividing by the number of functions used.
- Ratio of use order of function is the number of functions that use function B after function A, and the function B is used after function A, or It is calculated by dividing by the number of functions that use function A later.
- “function relevance” and “ratio of function use order” which are the indivisible degree calculation items 5001, 0.7 and 0.5 are described as the threshold 5003, respectively.
- “function relevance” is used as an indivisible degree calculation item.
- the function uses the function A, the function B, and the function C
- the inseparability for each of the function A and the function B, the function B and the function C, and the function A and the function C is calculated.
- a function that uses a smaller function is determined to be divisible.
- the items used in calculating the indivisible degree are not limited to using one by one, and a plurality of items may be used simultaneously.
- the indivisible degree calculation item list 214 as shown in FIG. 5 is set and created in advance.
- An example of the calculation method is not limited to that shown in FIG. 5, and any method that can evaluate the relevance or closeness of functions can be used.
- the inseparability of two functions is calculated as the calculation method.
- the inseparability of three or more functions may be calculated. For example, if the relevance of three functions A, B, and C is to be calculated, “(number of functions using keywords related to function A, keywords related to function B, and keywords related to function C) / (keywords related to function A or The number of functions using the keyword related to the function B or the keyword related to the function C) ”. The same applies when the function is 4 or more.
- the threshold value is also set in advance, but may be changed or selected at the time of calculation, as will be described later.
- FIG. 6 shows an example of the separability data 215 calculated by the separability calculation method shown in FIG. 5 based on the function-specific keyword use data 213 shown in FIG.
- the indivisible degree data 215 the calculated value of the indivisible degree calculation item 5001 designated by the user is stored.
- the method of calculating the indivisible degree is as described in FIG. In this example, it is assumed that the division level calculation item to be used is “relevance level of function”, and a separability value 6001 is stored in a table format that can represent the relevance level between functions.
- the degree of association between category A (communication function) and category B (timer function) is shown.
- the calculated values are collectively shown by category, but can also be shown for each keyword.
- the storage format or display method of the calculated value is not limited to the left, and may be stored / displayed in an arbitrary format.
- FIG. 7 shows an example of the function refinement determination list 216.
- the function refinement determination list 216 lists an item 7001 used for narrowing down the function division determination target functions. If the number of division determination target functions is enormous, it takes time to complete all the division determinations. Therefore, the determination time is shortened by narrowing down the determination target functions using the function narrowing determination list 216. By using the determination conditions shown in FIG. 7, it is possible to extract a suitable one as a function division examination target.
- items 7001 include “number of used functions / keywords”, “maximum number of lines between functions / keywords”, “LOC”, “complexity”, “number of corrections”, “period since last correction”. , And “Number of people involved in development”, and users can use the items they like.
- the function refinement determination list 216 is set in advance based on an empirical rule or the like. For example, a function with a large number of corrections is often complex and should be divided. In addition, functions that have a large number of developers are often complex and should be divided.
- a threshold 7002 is set for each item. If the value of the item is equal to or greater than the threshold, the item is determined as a division determination target. If the item value is less than the threshold, the item is excluded from the division determination target.
- items that can be used for function narrowing are not limited to the above.
- FIG. 8 shows a flowchart as an example when the information processing apparatus 100 visualizes the source code A207 (see FIG. 2) stored in the information processing apparatus A110 in order to support the function division.
- Process 800 The program diagram creation control unit 205 starts creating a program diagram.
- an example is shown in which it is determined whether or not a function can be divided with respect to a function in the program, and a program diagram in which the function that can be divided is highlighted is shown.
- the user designates a source code to be visualized from the source code group 206.
- the source code A207 is designated as the visualization source code.
- the source code obtaining unit 200 obtains the source code A 207 to be visualized from the source code group 206 related to the project A via the communication device 107. If the source code group 206 is huge and it takes a long time to search for the source code A 207, a place where a high-speed search such as the information processing apparatus 100 can be performed in advance for a file that is likely to be used according to a user instruction. It is also possible to move or copy to.
- the keyword acquisition unit 201 acquires keyword information such as a macro set in the source code group 206 related to the project A to which the visualization target source code A 207 specified by the user in the process 801 belongs, and functions-specific keyword use data 213 ( (See FIG. 4).
- the number of keywords used for each function is stored.
- data can be stored in consideration of the general concept of the keyword such as SCI0 that is the keyword and communication that is a function to which the keyword belongs.
- the keywords acquired by the keyword acquisition unit 201 are macros and keywords described in the source code, but are not limited to the left.
- the target for acquiring the keyword is not limited to the source code group 206 related to the project A to which the visualization target source code A 207 belongs, but includes various source code groups 208 related to the project B to which the source code B 209 irrelevant to the visualization target belongs. Source code and related development / maintenance data can be used.
- Process 803 Using the input device 102, the user designates an item for narrowing down the function to be divided and a “function indivisible degree” item to be calculated to determine whether to divide the function later. . Items that can be used for narrowing down the division determination target functions are described in advance in the function narrowing determination list 216 (see FIG. 7), and the user may designate items from the function narrowing determination list 216.
- the function refinement determination list 216 includes “number of used functions / keywords”, “maximum number of lines between functions / keywords”, “LOC”, “complexity”, “number of corrections”, “last modification” ”Period” and “number of people involved in the development”, and it is assumed that the user specifies “number of used functions / keywords” as a narrowing item in this process.
- indivisible degree calculation item list 214 as the indivisible degree calculation item 5001, “function relevance” and “ratio of function use order” are described. "Is specified by the user.
- the narrowing items and the indivisible degree calculation items are not limited to being used one by one, but a plurality of items can be used simultaneously.
- the data analysis unit 202 uses the data stored in the separability calculation method list 214 (see FIG. 5) stored in the separability calculation item list 214 (see FIG. 5) and the function-specific keyword use data 213 (see FIG. 4).
- the indivisible degree of the indivisible degree calculation item selected is calculated and stored in the indivisible degree data 215 (see FIG. 6).
- the inseparability is used later in determining whether to divide the function. Since it is assumed in the process 803 that the user has specified “functional relevance” as the “indivisible degree” item, it is inseparable using the “functional relevance degree” calculation formula described in the indivisible degree calculation item list 214. Calculate the degree.
- “Function relevance” is an index indicating how much a plurality of functions are related to each other. The higher this value, the easier the functions are used simultaneously. In other words, if the degree of relevance of functions is high, these functions should be used simultaneously as one process, and can be said to be inseparable as a process.
- the “relationship between function A and function B” indicates the number of functions belonging to the keyword belonging to function A and the keyword belonging to function B, It can be calculated by dividing by the total number of functions that use the keyword belonging to function B.
- Process 805 In process 805 and subsequent steps, division determination is performed for the function included in the source code A207 that is the visualization target.
- the program diagram creation control unit 205 acquires, as a function division determination target function, one of the functions that are included in the source code A207 that is the visualization target acquired in the process 801 and has not yet been subjected to function division determination.
- Process 806 The function division determination unit 203 determines whether or not to perform the division determination of the function division determination target function acquired in the process 805. In this determination, it is assumed that “use function / number of keywords” is used among the items described in the function narrowing determination list 216. If the determination is true, the process proceeds to process 807. If the determination is false, the process proceeds to process 809. This process will be described in detail later.
- the function division determination unit 203 determines whether or not the function can be divided. In this determination, it is assumed that “function relevance” is used among the items described in the indivisible degree calculation item list 214 (FIG. 5). In the determination, for all combinations of functions used in the function included in the source code A207, the “function relevance” data value and the “function relevance” described in the indivisible degree calculation item list 214 are used. Compare the threshold of the item. For example, if all the “relevance levels of functions” exceed a threshold value, it is determined that division is not possible (unsuitable division). In the example of FIG.
- the degree of association between the functions “communication” and “timer” is 0.8, and if there are only two functions to be evaluated, the threshold value is exceeded, so that this function cannot be divided (false). To do. Although not shown in FIG. 6, there are other functions (for example, “I / O”), and if the degree of association between the functions “I / O” and “timer” falls below a threshold, it can be divided (true). To do. If the determination is true, the process proceeds to process 808. If the determination is false, the process proceeds to process 809. The details of this process will be described later. In the above example, one threshold is used, but it is also possible to set a threshold separately according to the combination of functions and perform a logical operation on the result determined for each combination of functions.
- Process 808 The drawing instruction unit 204 highlights the function as a function that can be divided. At this time, a function or keyword whose indivisible degree is below the threshold may be displayed together.
- Process 809 The drawing instruction unit 204 does not highlight the function as a function that cannot be divided.
- Process 810 The program diagram creation control unit 205 determines whether or not there is a function that has not yet been subjected to the function division determination in the source code A207 acquired in the process 801. If there is a function for which function division determination has not been performed, the process proceeds to process 805. If there is no function for which function division determination has not been performed, the process proceeds to process 811.
- Process 811 The program diagram creation control unit 205 ends the program diagram creation.
- FIG. 9 is a flowchart showing an example of determining whether to perform function division determination in the process 806 of FIG. In process 803, it is assumed that the user has designated “used function / number of keywords” among items described in the function narrowing determination list 216 (FIG. 7) as the narrowing items for the division determination target function. . In this example, one item is used as a condition, but a plurality of items may be used.
- Process 900 The data analysis unit 202 analyzes the number of functions and keywords used in the function. Then, the function division determination unit 203 compares the “used function / keyword count” with the threshold value of the “used function / keyword count” item described in the function narrowing determination list 216, and the former value is greater than or equal to the latter value. If so, the process proceeds to process 807. If the former value is smaller than the latter value, the process proceeds to step 809.
- FIG. 10 shows a flowchart as an example when performing function division determination in the process 807 of FIG.
- process 803 it is assumed that the user has designated the “degree of function relevance” among the items described in the indivisible degree calculation item list 214 (FIG. 5) as the “indivisible degree” item.
- the user has designated the “degree of function relevance” among the items described in the indivisible degree calculation item list 214 (FIG. 5) as the “indivisible degree” item.
- one item is used as a condition, but a plurality of items may be used.
- Process 1000 The data analysis unit 202 acquires keyword data of the determination target function from the function-specific keyword use data 213 (FIG. 4). Then, using this data, the “function relevance” data value described in the indivisible data 215 (FIG. 6) is obtained for all combinations of functions used in the function. Then, the function division determination unit 203 sets the “function relevance” data value and “function relevance” described in the indivisible degree calculation item list 214 (FIG. 5) for all functions used in the function. “Compare the threshold value of the item. At this time, if there is a function in which all the former values are lower than the latter values, the process proceeds to processing 808. If there is no function in which all the former values are lower than the latter values, the processing proceeds to step 809.
- Fig. 11 shows an example of the screen when changing the atomic threshold.
- squares in the figure indicate functions, and arrows connecting the squares indicate calling, writing, and the like.
- the idea of how much a separable function is included is different.
- the threshold of the indivisible degree calculation item 5001 described in the indivisible degree calculation item list 214 (FIG. 5) instead of 5003, as shown in FIG. 11, by adjusting the inseparability threshold slider 1101 and using the value as a threshold, it may be possible to appropriately rewrite the program diagram according to the purpose and intention.
- a gray node 1102 indicates a function that is determined to be splittable.
- the inseparability threshold is 0.8
- the six functions are emphasized as separable.
- the inseparability threshold slider is changed to 0.1 by operating the separability threshold, the lower function of FIG. Thus, only three functions are highlighted as separable.
- FIG. 12 shows an example of a function having a high division priority.
- the function shown in FIG. 12 the receiveMessage function, uses the A function, the B function, the C function, and the D function.
- the A function and the B function have an atomicity of 0.8
- the A function and the C function have an atomicity of 0.2
- D function are indivisible degree 0.2
- B function and C function are indivisible degree 0.2
- B function and D function are indivisible degree 0.2
- C function and D function are indivisible degree 0.7.
- Fig. 13 shows another example of changing the atomic threshold.
- the inseparability threshold slider has two or more axes. By having two axes, it is possible to set a first threshold for selecting a set of highly indivisible functions and a second threshold for separating a set of highly indivisible functions from each other. .
- the upper stage 1101a of the indivisible degree threshold slider is used for selecting a function group having a high indivisible degree. Based on the threshold value of the upper slider 1101a, a function having at least one function set having an indivisible degree equal to or greater than the threshold value in the function is extracted.
- the lower stage 1101b of the inseparability threshold slider is used to separate a set of high indivisible functions. Based on the threshold value of the lower slider 1101b, a function having at least one function set having an inseparability less than the threshold value is extracted from the functions extracted by the upper slider. That is, it can be seen from the upper slider that there is a highly functional set of functions in the function. In addition, it can be seen from the lower slider that there is a set of functions with low inseparability in the function. That is, it can be seen that the function is bipolar (or multipolar) in the function. Using these two sliders, first, a function having a set of highly indivisible functions is selected, and then a function having a separable function set is selected.
- the function having a high indivisible degree is 0.6 or more, that is, a set of A function and B function, and a set of C function and D function. It is possible to extract the function having this.
- the function is displayed as a white square, and the others are displayed as gray squares.
- the relevance between the A function and B function set and the C function and D function set is as small as 0.2.
- the function shown in gray in the upper part of FIG. 13 is a function that has no function group with an atomic degree of 0.6 or more.
- the lower slider 1101b is operated and changed to 0.25.
- the determination target based on the threshold value of the lower slider is limited to a function (indicated by a white square in the upper part of FIG. 13) having a function set with an indivisible degree of 0.6 or more depending on the setting of the upper slider. Then, among the functions indicated by white squares in the upper part of FIG. 13, a function having a function set with an indivisible degree of less than 0.25 is extracted.
- the function in FIG. 12 is a function to be separated because the inseparability 0.2 of the B function and the C function is less than the threshold value.
- some of the functions indicated by white squares in the upper part of FIG. 13 are changed to gray squares. This function changed from white to gray is a function whose function is bipolar (multipolar).
- the threshold judgment target of the lower slider is the inseparability between all functions. However, it may be narrowed down to the indivisible degree between the set of A function and B function having a high indivisible degree extracted by the upper slider and the set of C function and D function. By specifying the function (keyword) to be determined, detailed examination becomes possible.
- the threshold values of the two sliders can be set to threshold values that are effective only for the inseparable degree between specific functions from the beginning. For example, regardless of the result of the setting of the upper stage 1101a of the slider, the lower stage slider can be set as a threshold for the indivisible degree between the B function and the C function in FIG.
- the ratio of function usage order can be used as the indivisible degree of functions.
- the order of use of functions is determined, such as using the B function after using the A function.
- FIG. 12 assuming that the indivisible degree is relative to “ratio of use order of functions”, the B function is used after the A function is used, and the D function is used after the C function is used.
- the ratio is 0.8 and 0.7, respectively.
- the ratio of using the C function after using the B function is 0.2.
- the inseparability threshold when the inseparability threshold is set, the inseparability of the A function and the B function and the inseparability of the C function and the D function are not less than the threshold 0.6, so Selected as a set of highly indivisible functions. Furthermore, since the inseparability of the B function and the C function is less than the threshold value 0.25, the set of the A function and the B function and the set of the C function and the D function are to be divided.
- the function call relation diagram is described as a program diagram as a program diagram, as shown in FIG. 11 and FIG. 13, the function itself determined to be splittable is highlighted, and the inside of the function is not expressed.
- a visualization method is conceivable in which a group of inseparable functions is colored within the function.
- the visualization method is not limited to the one described in this example including the left.
- the indivisible degree is used depending on whether or not the function is highlighted.
- the present invention is not limited to the left, and various usage methods are conceivable.
- the present invention is not limited to the above-described embodiment, and includes various modifications.
- a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
- DESCRIPTION OF SYMBOLS 100 Information processing apparatus 101 Central processing unit 102 Input apparatus 103 Secondary storage apparatus 104 Main storage apparatus 105 Display apparatus 106 Bus 107 Communication apparatus 110 Information apparatus A 120 Information device B DESCRIPTION OF SYMBOLS 130 Communication network 200 Source code acquisition part 201 Keyword acquisition part 202 Data analysis part 203 Function division
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
図12に分割優先度の高い関数の一例を示す。図12に示す関数、receiveMessage関数は、A機能、B機能、C機能、及びD機能を利用しており、A機能とB機能は不可分度0.8、A機能とC機能は不可分度0.2、A機能とD機能は不可分度0.2、B機能とC機能は不可分度0.2、B機能とD機能は不可分度0.2、C機能とD機能は不可分度0.7である。このように、不可分度の高い複数の機能の組(A機能及びB機能、とC機能及びD機能)が、二極化(多極化)している関数は分割優先度が高い。次に、このような、機能が二極化している関数を抽出する例を説明する。
101 中央処理装置
102 入力装置
103 二次記憶装置
104 主記憶装置
105 表示装置
106 バス
107 通信装置
110 情報装置A
120 情報装置B
130 通信ネットワーク
200 ソースコード取得部
201 キーワード取得部
202 データ解析部
203 関数分割判定部
204 描画指示部
205 プログラム図作成制御部
206 プロジェクトAに関するソースコード群
207 ソースコードA
208 プロジェクトBに関するソースコード群
209 ソースコードB
212 キーワードカテゴリ表
213 関数別キーワード使用データ
214 不可分度算出項目リスト
215 不可分度データ
216 関数絞り込み判定データ
Claims (15)
- 入力装置、出力装置、演算装置、および記憶装置を有し、ソースコード中のモジュールを分割するモジュール分割支援装置であって、
前記演算装置は、前記記憶装置に記憶された、あるいは、前記入力装置から入力される、キーワードカテゴリ表と不可分度算出項目リストを利用可能であり、
前記キーワードカテゴリ表は、キーワードと、前記キーワードに対応するカテゴリのデータの組を複数組含み、
前記不可分度算出項目リストは、前記カテゴリのうち第1のカテゴリと第2のカテゴリの間の不可分度算出項目と、前記不可分度算出項目の算出方法に関する情報の組を含み、
前記演算装置は、ソースコード取得部と、キーワード取得部と、データ解析部と、モジュール分割判定部を備え、
前記ソースコード取得部は、前記記憶装置に記憶された、あるいは、前記入力装置から入力される、一群のソースコードおよび可視化対象となるソースコードを取得し、
前記キーワード取得部は、前記一群のソースコード中のモジュール毎に、当該モジュールに含まれる前記キーワードを特定して、モジュール別キーワード使用データを作成し、
前記データ解析部は、前記不可分度算出項目リストに格納された前記算出方法と、前記モジュール別キーワード使用データに格納されたデータと、前記キーワードカテゴリ表に含まれるキーワードに対応するカテゴリに関する情報を用いて、前記第1のカテゴリと第2のカテゴリについての不可分度を算出し、不可分度データを作成し、
前記モジュール分割判定部は、前記可視化対象となるソースコード中の各モジュール内に存在する前記キーワードを特定し、前記各モジュールのうち、所定閾値を下回る前記不可分度を有する第1のカテゴリと第2のカテゴリに対応するキーワードの組を有するモジュールを特定する、
ことを特徴とするモジュール分割支援装置。 - 請求項1において、
前記カテゴリは、前記キーワードが関連する機能名であり、
前記データ解析部は、前記不可分度として、前記第1のカテゴリと第2のカテゴリの関連度、または、前記第1のカテゴリと第2のカテゴリの利用順の割合、を算出する、
ことを特徴とするモジュール分割支援装置。 - 請求項1において、
前記モジュール分割判定部は、前記所定閾値として、前記入力装置から入力される閾値、または、前記不可分度算出項目リストの各情報の組に付随する閾値を用いる、
ことを特徴とするモジュール分割支援装置。 - 請求項1において、
前記モジュール分割判定部は、前記可視化対象となるソースコード中の各モジュールのうち、あるモジュールが含むキーワードに対応したカテゴリ同士の不可分度が、全て前記所定閾値を下回る場合、当該モジュールを分割可能なモジュールと判定し、それ以外を分割可能でないモジュールと判定する、
ことを特徴とするモジュール分割支援装置。 - 請求項1において、
前記可視化対象となるソースコード中のモジュールを絞り込むために、絞り込み条件を定義したモジュール絞り込み判定リストを利用可能であり、
前記モジュール分割判定部は、前記絞り込み条件に該当するモジュールについて、前記モジュールを特定する処理を行う、
ことを特徴とするモジュール分割支援装置。 - 入力装置、出力装置、演算装置、および記憶装置を用いて、ソースコード中のモジュールを分割するモジュール分割支援方法であって、
前記演算装置は、前記記憶装置に記憶された、あるいは、前記入力装置から入力される、キーワードカテゴリ表と不可分度算出項目リストを利用可能であり、
前記キーワードカテゴリ表は、キーワードと、前記キーワードに対応するカテゴリのデータの組を複数組含み、
前記不可分度算出項目リストは、前記カテゴリのうち第1のカテゴリと第2のカテゴリの間の不可分度算出項目と、前記不可分度算出項目の算出方法に関する情報の組を含み、
前記演算装置は、ソースコード取得部と、キーワード取得部と、データ解析部と、モジュール分割判定部を備え、
前記ソースコード取得部は、前記記憶装置に記憶された、あるいは、前記入力装置から入力される、一群のソースコードおよび可視化対象となるソースコードを取得し、
前記キーワード取得部は、前記一群のソースコード中のモジュール毎に、当該モジュールに含まれる前記キーワードを特定して、モジュール別キーワード使用データを作成し、
前記データ解析部は、前記不可分度算出項目リストに格納された前記算出方法と、前記モジュール別キーワード使用データに格納されたデータと、前記キーワードカテゴリ表に含まれるキーワードに対応するカテゴリに関する情報を用いて、前記第1のカテゴリと第2のカテゴリについての不可分度を算出し、不可分度データを作成し、
前記モジュール分割判定部は、前記可視化対象となるソースコード中の各モジュール内に存在する前記キーワードを特定し、前記各モジュールのうち、所定閾値を下回る前記不可分度を有する第1のカテゴリと第2のカテゴリに対応するキーワードの組を有するモジュールを特定する、
ことを特徴とするモジュール分割支援方法。 - 請求項6において、
前記カテゴリは、前記キーワードが関連する機能名であり、
前記データ解析部は、前記不可分度として、前記第1のカテゴリと第2のカテゴリの関連度、または、前記第1のカテゴリと第2のカテゴリの利用順の割合、を算出する、
ことを特徴とするモジュール分割支援方法。 - 請求項6において、
前記モジュール分割判定部は、前記所定閾値として、前記入力装置から入力される閾値、または、前記不可分度算出項目リストの各情報の組に付随する閾値を用いる、
ことを特徴とするモジュール分割支援方法。 - 請求項6において、
前記モジュール分割判定部は、前記可視化対象となるソースコード中の各モジュールのうち、あるモジュールが含むキーワードに対応したカテゴリ同士の不可分度が、全て前記所定閾値を下回る場合、当該モジュールを分割可能なモジュールと判定し、それ以外を分割可能でないモジュールと判定する、
ことを特徴とするモジュール分割支援方法。 - 請求項6において、
前記可視化対象となるソースコード中のモジュールを絞り込むために、絞り込み条件を定義したモジュール絞り込み判定リストを利用可能であり、
前記モジュール分割判定部は、前記絞り込み条件に該当するモジュールについて、前記モジュールを特定する処理を行う、
ことを特徴とするモジュール分割支援方法。 - 入力装置、出力装置、演算装置、および記憶装置を有する情報処理装置に、ソースコード中のモジュールを分割する処理を実行させるモジュール分割支援プログラムであって、
前記演算装置は、前記記憶装置に記憶された、あるいは、前記入力装置から入力される、キーワードカテゴリ表と不可分度算出項目リストを利用可能であり、
前記キーワードカテゴリ表は、キーワードと、前記キーワードに対応するカテゴリのデータの組を複数組含み、
前記不可分度算出項目リストは、前記カテゴリのうち第1のカテゴリと第2のカテゴリの間の不可分度算出項目と、前記不可分度算出項目の算出方法に関する情報の組を含み、
前記演算装置を、ソースコード取得部と、キーワード取得部と、データ解析部と、モジュール分割判定部を備えるごとく機能させ、
前記ソースコード取得部は、前記記憶装置に記憶された、あるいは、前記入力装置から入力される、一群のソースコードおよび可視化対象となるソースコードを取得し、
前記キーワード取得部は、前記一群のソースコード中のモジュール毎に、当該モジュールに含まれる前記キーワードを特定して、モジュール別キーワード使用データを作成し、
前記データ解析部は、前記不可分度算出項目リストに格納された前記算出方法と、前記モジュール別キーワード使用データに格納されたデータと、前記キーワードカテゴリ表に含まれるキーワードに対応するカテゴリに関する情報を用いて、前記第1のカテゴリと第2のカテゴリについての不可分度を算出し、不可分度データを作成し、
前記モジュール分割判定部は、前記可視化対象となるソースコード中の各モジュール内に存在する前記キーワードを特定し、前記各モジュールのうち、所定閾値を下回る前記不可分度を有する第1のカテゴリと第2のカテゴリに対応するキーワードの組を有するモジュールを特定する、
ことを特徴とするモジュール分割支援プログラム。 - 請求項11において、
前記カテゴリは、前記キーワードが関連する機能名であり、
前記データ解析部は、前記不可分度として、前記第1のカテゴリと第2のカテゴリの関連度、または、前記第1のカテゴリと第2のカテゴリの利用順の割合、を算出する、
ことを特徴とするモジュール分割支援プログラム。 - 請求項11において、
前記モジュール分割判定部は、前記所定閾値として、前記入力装置から入力される閾値、または、前記不可分度算出項目リストの各情報の組に付随する閾値を用いる、
ことを特徴とするモジュール分割支援プログラム。 - 請求項11において、
前記モジュール分割判定部は、前記可視化対象となるソースコード中の各モジュールのうち、あるモジュールが含むキーワードに対応したカテゴリ同士の不可分度が、全て前記所定閾値を下回る場合、当該モジュールを分割可能なモジュールと判定し、それ以外を分割可能でないモジュールと判定する、
ことを特徴とするモジュール分割支援プログラム。 - 請求項11において、
前記可視化対象となるソースコード中のモジュールを絞り込むために、絞り込み条件を定義したモジュール絞り込み判定リストを利用可能であり、
前記モジュール分割判定部は、前記絞り込み条件に該当するモジュールについて、前記モジュールを特定する処理を行う、
ことを特徴とするモジュール分割支援プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/082884 WO2016092677A1 (ja) | 2014-12-11 | 2014-12-11 | モジュール分割支援装置、方法、及びプログラム |
US15/504,515 US10025558B2 (en) | 2014-12-11 | 2014-12-11 | Module division assistance device, module division assistance method, and module division assistance program |
JP2016563360A JP6178023B2 (ja) | 2014-12-11 | 2014-12-11 | モジュール分割支援装置、方法、及びプログラム |
CN201480081121.1A CN106575225B (zh) | 2014-12-11 | 2014-12-11 | 模块划分辅助装置、方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/082884 WO2016092677A1 (ja) | 2014-12-11 | 2014-12-11 | モジュール分割支援装置、方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016092677A1 true WO2016092677A1 (ja) | 2016-06-16 |
Family
ID=56106924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/082884 WO2016092677A1 (ja) | 2014-12-11 | 2014-12-11 | モジュール分割支援装置、方法、及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10025558B2 (ja) |
JP (1) | JP6178023B2 (ja) |
CN (1) | CN106575225B (ja) |
WO (1) | WO2016092677A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019012674A1 (ja) * | 2017-07-13 | 2019-01-17 | 株式会社日立製作所 | プログラムの統合解析管理装置及びその統合解析管理方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579370B2 (en) * | 2018-08-03 | 2020-03-03 | EMC IP Company LLC | Method to disintegrate a monolith service to microservices |
WO2020129432A1 (ja) * | 2018-12-21 | 2020-06-25 | 日本電信電話株式会社 | 分散処理支援装置、分散処理支援方法およびプログラム |
CN113139867B (zh) * | 2021-04-30 | 2024-03-08 | 中国银行股份有限公司 | 微服务模块的划分方法、装置、设备及可读存储介质 |
CN115113921B (zh) * | 2022-08-29 | 2022-11-08 | 云账户技术(天津)有限公司 | 代码重构价值的评估方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290639A (ja) * | 2000-04-07 | 2001-10-19 | Hitachi Ltd | ソフトウェア再構成方式 |
JP2004295425A (ja) * | 2003-03-26 | 2004-10-21 | Mitsubishi Electric Corp | モジュール構造化支援装置 |
JP2007219586A (ja) * | 2006-02-14 | 2007-08-30 | Matsushita Electric Ind Co Ltd | ソースコード解析装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4445177A (en) * | 1981-05-22 | 1984-04-24 | Data General Corporation | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions |
JP3375766B2 (ja) * | 1994-12-27 | 2003-02-10 | 松下電器産業株式会社 | 文字認識装置 |
US5809500A (en) * | 1997-02-26 | 1998-09-15 | Century Technology Services, Inc. | System for converting programs and databases to correct year 2000 processing errors |
US7617210B2 (en) * | 2007-02-28 | 2009-11-10 | Goldman Sachs & Co. | Global inventory warehouse |
JP5238635B2 (ja) * | 2009-07-29 | 2013-07-17 | 京セラ株式会社 | 情報処理装置及びアプリケーションプログラムの起動方法 |
CN102193859B (zh) * | 2010-03-03 | 2014-09-10 | 深圳市世纪光速信息技术有限公司 | 一种代码分析方法及系统 |
CN102779170B (zh) * | 2012-06-25 | 2015-01-07 | 北京奇虎科技有限公司 | 一种识别网页正文楼层的系统和方法 |
US9182947B2 (en) * | 2013-06-06 | 2015-11-10 | International Business Machines Corporation | Program source code navigation |
-
2014
- 2014-12-11 WO PCT/JP2014/082884 patent/WO2016092677A1/ja active Application Filing
- 2014-12-11 CN CN201480081121.1A patent/CN106575225B/zh active Active
- 2014-12-11 US US15/504,515 patent/US10025558B2/en active Active
- 2014-12-11 JP JP2016563360A patent/JP6178023B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001290639A (ja) * | 2000-04-07 | 2001-10-19 | Hitachi Ltd | ソフトウェア再構成方式 |
JP2004295425A (ja) * | 2003-03-26 | 2004-10-21 | Mitsubishi Electric Corp | モジュール構造化支援装置 |
JP2007219586A (ja) * | 2006-02-14 | 2007-08-30 | Matsushita Electric Ind Co Ltd | ソースコード解析装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019012674A1 (ja) * | 2017-07-13 | 2019-01-17 | 株式会社日立製作所 | プログラムの統合解析管理装置及びその統合解析管理方法 |
JPWO2019012674A1 (ja) * | 2017-07-13 | 2019-07-25 | 株式会社日立製作所 | プログラムの統合解析管理装置及びその統合解析管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106575225A (zh) | 2017-04-19 |
JPWO2016092677A1 (ja) | 2017-04-27 |
US10025558B2 (en) | 2018-07-17 |
CN106575225B (zh) | 2019-07-02 |
US20170242661A1 (en) | 2017-08-24 |
JP6178023B2 (ja) | 2017-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030167B2 (en) | Systems and methods for providing data quality management | |
JP6178023B2 (ja) | モジュール分割支援装置、方法、及びプログラム | |
US11023534B2 (en) | Classification method and a classification device for service data | |
JP6741216B2 (ja) | ログ分析システム、方法およびプログラム | |
US20060004528A1 (en) | Apparatus and method for extracting similar source code | |
JPWO2016151618A1 (ja) | 予測モデル更新システム、予測モデル更新方法および予測モデル更新プログラム | |
WO2019023982A1 (en) | MULTIDIMENSIONAL INDUSTRIAL KNOWLEDGE GRAPH | |
US20150026635A1 (en) | Method for generating control-code by a control-code-diagram | |
US20170300819A1 (en) | Time-Series Prediction Apparatus and Time-Series Prediction Method | |
JPWO2018079225A1 (ja) | 自動予測システム、自動予測方法および自動予測プログラム | |
JPWO2014064777A1 (ja) | 文書評価支援システム、及び文書評価支援方法 | |
JP5775417B2 (ja) | ユーザインタフェース自動分析評価システム及びユーザインタフェース自動分析評価方法 | |
JP6453502B1 (ja) | 特許調査支援方法 | |
US20180365341A1 (en) | Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad | |
Ziegenbein et al. | Machine learning algorithms in machining: A guideline for efficient algorithm selection | |
JPWO2017046906A1 (ja) | データ分析装置および分析方法 | |
JPWO2018235841A1 (ja) | グラフ構造解析装置、グラフ構造解析方法、及びプログラム | |
KR102217092B1 (ko) | 애플리케이션의 품질 정보 제공 방법 및 장치 | |
KR102113834B1 (ko) | Pls-da를 기반으로 하는 db의 웹서비스 구현 방법 | |
JP6852004B2 (ja) | データ解析システム、データ解析方法、及びプログラム | |
CN109284354B (zh) | 脚本搜索方法、装置、计算机设备及存储介质 | |
JP6771314B2 (ja) | 予測不可データ判定システム及び予測不可データ判定方法 | |
JP5714472B2 (ja) | 製品情報管理装置、方法、及びプログラム | |
JP2020166443A (ja) | データ加工方法レコメンドシステム、データ加工方法レコメンド方法、及びデータ加工方法レコメンドプログラム | |
US20200285463A1 (en) | Evaluation of developer organizations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14907625 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2016563360 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15504515 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14907625 Country of ref document: EP Kind code of ref document: A1 |