JP2015130026A - Diagnosis system, diagnosis method and program - Google Patents

Diagnosis system, diagnosis method and program Download PDF

Info

Publication number
JP2015130026A
JP2015130026A JP2014000797A JP2014000797A JP2015130026A JP 2015130026 A JP2015130026 A JP 2015130026A JP 2014000797 A JP2014000797 A JP 2014000797A JP 2014000797 A JP2014000797 A JP 2014000797A JP 2015130026 A JP2015130026 A JP 2015130026A
Authority
JP
Japan
Prior art keywords
information
program
processing pattern
processing
standard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014000797A
Other languages
Japanese (ja)
Other versions
JP6023100B2 (en
Inventor
久 坂本
Hisashi Sakamoto
久 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2014000797A priority Critical patent/JP6023100B2/en
Publication of JP2015130026A publication Critical patent/JP2015130026A/en
Application granted granted Critical
Publication of JP6023100B2 publication Critical patent/JP6023100B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a diagnosis system capable of easily comprehending what processing is mounted in a program.SOLUTION: The diagnosis system includes: a processing unit that receives a piece of information relevant to a program mounted, generates a piece of standard mounting information, generating a piece of processing pattern information from a processing pattern constituting a standard mounting, generates a piece of program structure information by inputting a source program and performing lexical and syntax analyses, searches a program syntactical row which conforms to the processing pattern information from the program structure information, and generates a piece of information of processing pattern search result; and an information storage for stores the mount standard information, the processing pattern information, the program structure information and the processing pattern search result information.

Description

本発明は、診断システム、診断方法、および、プログラムに関する。   The present invention relates to a diagnostic system, a diagnostic method, and a program.

現在、多くの企業や組織において、大規模なコンピュータシステムが、さまざまな目的で稼働している。システム上では、大人数により開発された何百万行からなるソースプログラムから構成されるソフトウェアが動作しており、多くの技術者がこれらシステムのソースプログラムをメンテナンスしている。   Currently, in many companies and organizations, large-scale computer systems operate for various purposes. On the system, software composed of source programs consisting of millions of lines developed by a large number of people operates, and many engineers maintain the source programs of these systems.

ソースプログラムのメンテナンスの際に、ソースプログラムの可読性を向上させるため、作業の効率化用に、さまざまなツールが用いられている。たとえば、ソースコード上の記述において、難解な表現、理解が困難な構造の存在する箇所を特定し、付近に「バグ」と呼ばれる論理的な問題が含まれていないかどうかを技術者に喚起させるリファクタリングツールと呼ばれるシステムがある。   In order to improve the readability of the source program during maintenance of the source program, various tools are used for improving work efficiency. For example, in a description on the source code, a location where a difficult expression or structure that is difficult to understand is identified, and an engineer is alerted whether a logical problem called a “bug” is included in the vicinity. There is a system called a refactoring tool.

リファクタリングシステムの一例が、特許文献1、特許文献2、非特許文献1、および、非特許文献2に記載されている。これらのリファクタリングシステムは、おおむね、プログラムの字句解析手段、または、構文解析手段、そしてパターン検索部を持ち、また、あらかじめ用意されたプログラム記述情報を持つ。   An example of a refactoring system is described in Patent Document 1, Patent Document 2, Non-Patent Document 1, and Non-Patent Document 2. These refactoring systems generally have program lexical analysis means or syntax analysis means, and a pattern search unit, and also have program description information prepared in advance.

プログラム記述情報には、実装方法として注意しなければならないプログラム実装方式のパターンが含まれている。このような構成を有するリファクタリングシステムは、次のように動作する。   The program description information includes a pattern of a program implementation method that must be noted as an implementation method. The refactoring system having such a configuration operates as follows.

まず、リファクタリングシステムは、プログラムを字句解析手段、または、構文解析手段で解析し、その記述構造を情報化する。次に、リファクタリングシステムは、その中にプログラム記述情報内で定義されているパターンが存在するかどうかをパターン検索部で検索する。   First, the refactoring system analyzes a program by lexical analysis means or syntax analysis means, and converts the description structure into information. Next, the refactoring system searches the pattern search unit to determine whether or not there is a pattern defined in the program description information.

プログラム記述情報には、具体的に次のような事が定義されている。たとえば、変数名の命名規則や最大文字列長、条件判断や繰り返し文のネスト(入れ子)段数などがパターンとして情報化されている。   The program description information specifically defines the following. For example, the variable name naming rule, maximum character string length, condition judgment, number of nesting stages of repeated statements, and the like are informationized as patterns.

特開2005−18114号公報JP 2005-18114 A 特開2008−181311号公報JP 2008-181311 A

Prashant Deva ( Founder, Chronon Systems )、“Eclipse JDT のリファクタリング機能を探る”、[online]、2009年11月24日、IBM developerWorks、[ 2013年8月5日検索]、インターネット< URL :http://www.ibm.com/developerworks/jp/opensource/library/os-eclipse-refactoring/ >Prashant Deva (Founder, Chronon Systems), “Exploring Eclipse JDT refactoring”, [online], November 24, 2009, IBM developerWorks, [August 5, 2013 search], Internet <URL: http: / /www.ibm.com/developerworks/jp/opensource/library/os-eclipse-refactoring/> Fuminobu Takeyama、“パターンマッチングを用いた静的解析”、[online]、明治大学計算理論研究室、[ 2013年8月5日検索]、インターネット< URL :http://www.th.cs.meiji.ac.jp/researches/2007/takeyama/chap2.html >Fuminobu Takeyama, “Static analysis using pattern matching”, [online], Meiji University computational theory laboratory, [searched August 5, 2013], Internet <URL: http: //www.th.cs.meiji .ac.jp / researches / 2007 / takeyama / chap2.html>

前述のリファクタリングシステムには、共通して以下の問題があった。その問題点は、これらシステムは、ソースコードの処理を「意味的に」提示してくれるものではないので、プログラムの保守目的ではプログラムの理解度を飛躍的に向上させるものではない、ということである。   The above-mentioned refactoring system has the following problems in common. The problem is that these systems do not "semantically" present the processing of the source code, so they are not intended to dramatically improve program comprehension for program maintenance purposes. is there.

したがって、プログラムの実装に関する知識が少ない技術者では、既存システムを調査する際に、実装標準等ある一定の基準に従って実装されているか、あるいは、無秩序に実装されているのかを容易には、判断できないことである。   Therefore, an engineer with little knowledge about program implementation cannot easily determine whether it is implemented according to a certain standard, such as implementation standards, or when it is implemented randomly when investigating an existing system. That is.

その理由は、リファクタリングシステムが検索するパターンが処理内容や意味との結び付けがなく、機械的な字句、構文の出現パターンを検索するに過ぎないため、その処理の内容がどのようなものかを提示することができないからである。   The reason is that the pattern searched by the refactoring system is not linked to the processing content or meaning, and is merely a search for the appearance pattern of mechanical lexical and syntax, so what kind of processing content is presented Because you can't.

本発明の目的は、上記問題点を解決する診断システム、診断方法、および、プログラムを提供することである。   The objective of this invention is providing the diagnostic system, the diagnostic method, and program which solve the said problem.

本発明の診断システムは、プログラムの実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する処理部と、前記実装標準情報、前記処理パターン情報、前記プログラム構造情報、および、前記処理パターン検索結果情報を格納する情報格納部と、を含む。   The diagnostic system of the present invention receives information on program implementation, generates implementation standard information, generates process pattern information from process patterns constituting the implementation standard, receives a source program, analyzes lexical and syntax, and program structure A processing unit that generates information, searches a program syntax string that matches the processing pattern information from the program structure information, and generates processing pattern search result information; the mounting standard information; the processing pattern information; and the program structure information And an information storage unit for storing the processing pattern search result information.

本発明の診断方法は、プログラムの実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する。   The diagnostic method of the present invention receives information related to the implementation of a program, generates implementation standard information, generates process pattern information from process patterns constituting the implementation standard, receives a source program, analyzes lexical and syntax, and program structure Information is generated, a program syntax string that matches the processing pattern information is searched from the program structure information, and processing pattern search result information is generated.

本発明のプログラムは、実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する処理をコンピュータに実行させる。   The program of the present invention receives information about the implementation, generates the implementation standard information, generates the process pattern information from the process pattern constituting the implementation standard, receives the source program, analyzes the lexical and syntax, and generates the program structure information Then, a program syntax string that matches the processing pattern information is searched from the program structure information, and processing for generating processing pattern search result information is executed by a computer.

本発明は、プログラム内にどの様な処理が実装されているか容易に把握できるという効果を持つ。   The present invention has an effect that it is possible to easily grasp what processing is implemented in a program.

本発明の第1の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 本発明の第1の実施の形態の動作を示す動作説明図である。It is operation | movement explanatory drawing which shows operation | movement of the 1st Embodiment of this invention. 本発明の第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention. 図3の実装標準DBの構成を示す説明図である。It is explanatory drawing which shows the structure of mounting standard DB of FIG. 図3の処理パターンDBの構成を示す説明図である。It is explanatory drawing which shows the structure of process pattern DB of FIG. 図5の構造単位リストの詳細構成を示す説明図である。It is explanatory drawing which shows the detailed structure of the structural unit list | wrist of FIG. 図3のプログラム構造情報DBの構成を示す説明図である。It is explanatory drawing which shows the structure of program structure information DB of FIG. 図3の処理パターン検索結果DBの構成を示す説明図である。It is explanatory drawing which shows the structure of process pattern search result DB of FIG. 本発明の第2の実施の形態の動作を示す動作説明図である。It is operation | movement explanatory drawing which shows operation | movement of the 2nd Embodiment of this invention. 本発明の第3の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 3rd Embodiment of this invention. 本発明の第3の実施の形態のソースプログラムの内容を示す図である。It is a figure which shows the content of the source program of the 3rd Embodiment of this invention. 実装標準用ユーザインタフェースの構成を示す説明図である。It is explanatory drawing which shows the structure of the user interface for mounting standards. 本発明の第3の実施の形態の実装標準DBの構成を示す説明図である。It is explanatory drawing which shows the structure of mounting standard DB of the 3rd Embodiment of this invention. 処理パターン入力用ユーザインタフェースの構成を示す説明図である。It is explanatory drawing which shows the structure of the user interface for a process pattern input. 本発明の第3の実施の形態の処理パターンDBの構成を示す説明図である。It is explanatory drawing which shows the structure of process pattern DB of the 3rd Embodiment of this invention. 本発明の第3の実施の形態の実装標準DBの構成を示す説明図である。It is explanatory drawing which shows the structure of mounting standard DB of the 3rd Embodiment of this invention. 本発明の第3の実施の形態の構造単位の構成を示す説明図である。It is explanatory drawing which shows the structure of the structural unit of the 3rd Embodiment of this invention. 本発明の第3の実施の形態の構造単位リストの詳細構成を示す説明図である。It is explanatory drawing which shows the detailed structure of the structural unit list | wrist of the 3rd Embodiment of this invention. プログラム構造解析部により生成された構文木を示す説明図である。It is explanatory drawing which shows the syntax tree produced | generated by the program structure analysis part. 本発明の第3の実施の形態のプログラム構造情報DBの構成を示す説明図である。It is explanatory drawing which shows the structure of program structure information DB of the 3rd Embodiment of this invention. 本発明の第3の実施の形態の処理パターン検索結果DBの構成を示す説明図である。It is explanatory drawing which shows the structure of process pattern search result DB of the 3rd Embodiment of this invention. 診断結果表示用ユーザインタフェースの構成を示す説明図である。It is explanatory drawing which shows the structure of the user interface for a diagnostic result display.

次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。   Next, a first embodiment of the present invention will be described in detail with reference to the drawings.

図1は、第1の実施の形態の構成を示すブロック図である。図1を参照すると、第1の実施の形態の診断システム800は、処理部100、および、情報格納部200を含む。処理部100は、たとえば、プログラムがコンピュータを動作させて機能を実現するものである。また、情報格納部200は、たとえば、主記憶装置、ハードディスク等の記憶装置である。診断システム800は、単体のコンピュータ装置によって構成されてもよいし、処理部100と情報格納部200がネットワークを介して接続されたコンピュータシステムであってもよい。   FIG. 1 is a block diagram showing the configuration of the first embodiment. Referring to FIG. 1, a diagnosis system 800 according to the first embodiment includes a processing unit 100 and an information storage unit 200. In the processing unit 100, for example, a program causes a computer to operate to realize a function. The information storage unit 200 is a storage device such as a main storage device or a hard disk. The diagnosis system 800 may be configured by a single computer device, or may be a computer system in which the processing unit 100 and the information storage unit 200 are connected via a network.

次に、第1の実施の形態の動作について図面を参照して説明する。   Next, the operation of the first embodiment will be described with reference to the drawings.

図2は、第1の実施の形態の動作を示す動作説明図である。図2を参照すると、処理部100は、プログラムの実装方式に関する情報(たとえば、実装標準)を受け取り、情報化して実装標準識別情報として情報格納部200に格納する(ステップS1)。実装標準識別情報とは、たとえば、実装標準ID、または、実装標準名を含む。   FIG. 2 is an operation explanatory diagram illustrating the operation of the first embodiment. Referring to FIG. 2, the processing unit 100 receives information (for example, a mounting standard) related to a program mounting method, converts it into information, and stores it in the information storage unit 200 as mounting standard identification information (step S1). The mounting standard identification information includes, for example, a mounting standard ID or a mounting standard name.

さらに、処理部100は、受け取ったプログラムの実装方式に関する情報(知識)のうち処理パターン(たとえば、プログラム処理の構文パターン)を情報化し、処理パターン情報として情報格納部200に格納する(ステップS2)。たとえば、処理パターン情報は、処理パターン名、構造単位数、または、構造単位リストを含む。   Further, the processing unit 100 converts the processing pattern (for example, the syntax pattern of the program processing) from the information (knowledge) related to the received program mounting method, and stores it as processing pattern information in the information storage unit 200 (step S2). . For example, the processing pattern information includes a processing pattern name, the number of structural units, or a structural unit list.

また、処理部100は、実装標準識別情報と処理パターン情報とを関連付けた関連付け情報を実装標準識別情報に付加し、全体で、実装標準情報として情報格納部200に格納する(ステップS2)。上記関連付け情報は、たとえば、処理パターン数、または、処理パターンリストである。実装標準情報は、実装標準識別情報、および、関連付け情報を含む。   In addition, the processing unit 100 adds association information that associates the mounting standard identification information and the processing pattern information to the mounting standard identification information, and stores the information in the information storage unit 200 as mounting standard information as a whole (step S2). The association information is, for example, the number of processing patterns or a processing pattern list. The mounting standard information includes mounting standard identification information and association information.

すなわち、処理部100は、実装標準を、プログラム構文構造の集合として表現される処理パターンの集まりとして形式知化し、プログラム処理内容や意味という情報とプログラム構文の集合を関連付けて、実装標準情報とする。   That is, the processing unit 100 formalizes the implementation standard as a collection of processing patterns expressed as a set of program syntax structures, and associates information such as program processing contents and meaning with a set of program syntax to provide implementation standard information. .

また、処理部100は、ソースプログラムを受け取り、ソースプログラムの字句、構文を解析し、プログラム構造情報として(生成し)情報格納部200に格納する(ステップS3)。   The processing unit 100 receives the source program, analyzes the lexical and syntax of the source program, and stores (generates) the program structure information in the information storage unit 200 (step S3).

そして、処理部100は、情報格納部200内のプログラム構造情報から情報格納部200内の処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報として(生成し)情報格納部200に格納する(ステップS4)。   Then, the processing unit 100 retrieves a program syntax string that matches the processing pattern information in the information storage unit 200 from the program structure information in the information storage unit 200, and generates (generates) the processing pattern search result information as the information storage unit 200. (Step S4).

さらに、処理部100は、情報格納部200内の処理パターン検索結果情報からソースプログラムの実装方式が情報格納部200内の実装標準情報に従っている程度を判断し診断結果として(生成し)出力する(ステップS5)。実装標準情報に従っている程度とは、実装標準情報にどのくらい適合しているかのことである。   Furthermore, the processing unit 100 determines from the processing pattern search result information in the information storage unit 200 to the extent that the mounting method of the source program follows the mounting standard information in the information storage unit 200, and outputs (generates) it as a diagnostic result ( Step S5). The degree to which the implementation standard information is complied with refers to how well the implementation standard information is adapted.

実装標準とは、たとえば、システム内の装置やデータベース、ミドルウェアを利用する上である処理を実現させるためにプログラムを実装する場合、その実装に対してプロジェクト等で統一的に定められた規約、方針、または、方法論のことである。   For example, when a program is implemented to realize the processing that is used when using devices, databases, and middleware in the system, the implementation standard is a standard and policy defined by the project for the implementation. Or a methodology.

次に、第1の実施の形態の効果について説明する。   Next, the effect of the first embodiment will be described.

第1の実施の形態は、処理内容とその処理を構成する構文のパターンとを関連付けた処理パターン情報を生成し、ソースプログラムを解析して生成したプログラム構造情報から処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を作成する。   In the first embodiment, processing pattern information that associates processing contents with syntax patterns constituting the processing is generated, and a program syntax that matches processing pattern information is generated from program structure information generated by analyzing a source program. Search columns and create processing pattern search result information.

したがって、第1の実施の形態は、処理パターン検索結果情報により、ソースプログラム内にどの様な処理が実装されているか容易に把握できるという効果を持つ。   Therefore, the first embodiment has an effect that it is possible to easily grasp what processing is implemented in the source program from the processing pattern search result information.

また、第1の実施の形態は、実装標準を、プログラム構文構造の集合として表現される処理パターンの集まりとして形式知化し、プログラム処理内容や意味という情報とプログラム構文の集合を関連付けて、実装標準情報とする構成である。そして、第1の実施の形態は、処理パターン検索結果情報と実装標準情報とに基づいて、ソースプログラムが実装標準にどのくらい適合しているかを診断する構成である。   In the first embodiment, the implementation standard is formalized as a collection of processing patterns expressed as a set of program syntax structures, and information on program processing contents and meaning is associated with a set of program syntax to implement the implementation standard. It is the structure used as information. The first embodiment is configured to diagnose how much the source program conforms to the implementation standard based on the processing pattern search result information and the implementation standard information.

したがって、第1の実施の形態は、プログラム内の各処理がどれくらい実装標準に従って実装されているかを容易に把握できるという効果を持つ。   Therefore, the first embodiment has an effect that it is possible to easily grasp how much each process in the program is implemented according to the implementation standard.

次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。   Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

図3は、第2の実施の形態の構成を示すブロック図である。図3を参照すると、第2の実施の形態のコンピュータ900は、補助記憶装置700、結果出力部600、および、第1の実施の形態の診断システム800を含む。   FIG. 3 is a block diagram showing the configuration of the second embodiment. Referring to FIG. 3, a computer 900 according to the second embodiment includes an auxiliary storage device 700, a result output unit 600, and a diagnosis system 800 according to the first embodiment.

診断システム800の処理部100は、実装標準情報化部110、プログラム構造解析部120、処理パターン検索部130、および、実装標準診断部140を含む。診断システム800の情報格納部200は、補助記憶装置700に含まれてもよいし、図示しない他の記憶装置(たとえば、主記憶装置)に含まれてもよい。   The processing unit 100 of the diagnosis system 800 includes a mounting standard information conversion unit 110, a program structure analysis unit 120, a processing pattern search unit 130, and a mounting standard diagnosis unit 140. The information storage unit 200 of the diagnostic system 800 may be included in the auxiliary storage device 700 or may be included in another storage device (for example, a main storage device) not shown.

情報格納部200は、実装標準DB210、処理パターンDB220、プログラム構造情報DB230、および、処理パターン検索結果DB240を含む。DBは、データベース(Data Base)である。   The information storage unit 200 includes an implementation standard DB 210, a processing pattern DB 220, a program structure information DB 230, and a processing pattern search result DB 240. DB is a database (Data Base).

実装標準DB210、処理パターンDB220、プログラム構造情報DB230、および、処理パターン検索結果DB240は、それぞれ、第1の実施の形態の実装標準情報、処理パターン情報、プログラム構造情報、および、処理パターン検索結果情報を格納する。   The mounting standard DB 210, the processing pattern DB 220, the program structure information DB 230, and the processing pattern search result DB 240 are the mounting standard information, processing pattern information, program structure information, and processing pattern search result information of the first embodiment, respectively. Is stored.

補助記憶装置700には、たとえば、技術者により、ソースプログラム710が配置される。コンピュータ900は、たとえば、ソースプログラム710を分析する技術者により操作される。ソースプログラム710の形態はファイル形式でもよいし、データベースに格納されている情報でもよい。   A source program 710 is arranged in the auxiliary storage device 700 by, for example, a technician. The computer 900 is operated by, for example, a technician who analyzes the source program 710. The form of the source program 710 may be a file format or information stored in a database.

また、ソースプログラム710は、補助記憶装置700内に配置されず、他の情報処理システム等からネットワーク等の他の媒体を経由して診断システム800に入力されてもよい。また、ソースプログラム710は、複数のプログラムで構成されてもよい。   Further, the source program 710 may not be arranged in the auxiliary storage device 700 but may be input to the diagnosis system 800 from another information processing system or the like via another medium such as a network. The source program 710 may be composed of a plurality of programs.

ソースプログラム710の所有者としては、たとえば、ソースプログラム710が実行されるシステムを利用、運用し、ソースプログラム710を診断したい意向を持つ顧客等が想定されるが、必ずしもその限りではない。   As the owner of the source program 710, for example, a customer or the like who intends to use and operate a system in which the source program 710 is executed and want to diagnose the source program 710 is not necessarily limited.

実装標準情報化部110は、技術者により暗黙的または明示的に持たれているプログラム実装に関する実装標準の知識を受け取り、実装標準とそれを構成する単一または複数のプログラム処理を関連付けた実装標準情報を生成し、実装標準DB210に格納する。   The implementation standard computerization unit 110 receives knowledge of the implementation standard regarding the program implementation implicitly or explicitly held by the engineer, and associates the implementation standard with a single or a plurality of program processes constituting the implementation standard. Information is generated and stored in the implementation standard DB 210.

また、実装標準情報化部110は、技術者からプログラム処理に関する知識も受け取り、プログラム処理とそれを構成する単一または複数のプログラム構文単位を関連付けた処理パターン情報を生成し、処理パターンDB220に格納する。   In addition, the implementation standard information unit 110 also receives knowledge about program processing from an engineer, generates processing pattern information in which the program processing is associated with a single or plural program syntax units, and stores the processing pattern information in the processing pattern DB 220. To do.

ここで、実装標準、プログラム処理、プログラム構文単位、構造単位のそれぞれの関係を説明する。実装標準は、1以上のプログラム処理(処理パターン)から構成される。プログラム処理(処理パターン)は、1以上のプログラム構文単位から構成される。プログラム構文単位は、1以上の構造単位から構成される。   Here, the relationship among the implementation standard, program processing, program syntax unit, and structure unit will be described. The mounting standard is composed of one or more program processes (processing patterns). Program processing (processing pattern) is composed of one or more program syntax units. A program syntax unit is composed of one or more structural units.

また、構造単位とは、プログラムの文法構造を構成する要素のことを指し、最大はプログラム全体、最小はプログラムを実装する実装命令である。実装標準情報化部110は、処理パターンを構成する単一または複数のプログラム構文単位を受け取り、その字句、構文を解析し構文木を構成する構造単位に変換する。   A structural unit refers to an element constituting a grammatical structure of a program, the maximum being an entire program and the minimum being an installation instruction for mounting the program. The implementation standard information conversion unit 110 receives a single or plural program syntax units constituting a processing pattern, analyzes the lexical and syntax, and converts them into a structural unit constituting a syntax tree.

また、処理パターンDB220に格納される構造単位には複数個の任意の構造単位を表すワイルドカードや特定の構造単位の集合を表すパターン演算子等を含めることができる。技術者としては、さまざまなプログラム開発経験を持ちプログラムの実装方式に関する知識が豊富であることが想定可能である。また、技術者は、一人とは限らず複数の技術者が情報を入力することが可能である。   The structural unit stored in the processing pattern DB 220 can include a wild card representing a plurality of arbitrary structural units, a pattern operator representing a set of specific structural units, and the like. As an engineer, it can be assumed that he has various program development experiences and is knowledgeable about the implementation method of the program. In addition, the engineer is not limited to one person, and a plurality of engineers can input information.

技術者は、実装標準情報化部110を用いて実装標準に関する情報を入力する。その際、実装標準情報化部110は、ソースプログラム710を表示し、その中で必要な部分を指定する様なUI(ユーザインタフェース)を持つような構成でもよいし、技術者が直接情報を文字列で入力する様な構成でもよい。   The engineer inputs information regarding the mounting standard using the mounting standard information forming unit 110. At that time, the implementation standard information conversion unit 110 may be configured to display a source program 710 and have a UI (user interface) for designating a necessary part in the source program 710, or an engineer directly converts the information into text. The configuration may be such that it is input in a column.

次に、実装標準DB210の構成について説明する。   Next, the configuration of the mounting standard DB 210 will be described.

図4は、実装標準DB210の構成を示す説明図である。図4において、実装標準IDT211、および、実装標準名T212は、第1の実施の形態の実装標準識別情報の一例である。また、処理パターン数T213、および、処理パターンリストT214は、第1の実施の形態の関連付け情報の一例である。   FIG. 4 is an explanatory diagram showing the configuration of the mounting standard DB 210. In FIG. 4, a mounting standard IDT 211 and a mounting standard name T212 are examples of mounting standard identification information according to the first embodiment. Further, the processing pattern number T213 and the processing pattern list T214 are an example of association information according to the first embodiment.

図4を参照すると、実装標準DB210は、実装標準情報化部110により技術者により入力された実装標準を情報化し、実装標準情報として格納するためのデータベースであり、以下の構成を持つ。   Referring to FIG. 4, the mounting standard DB 210 is a database for converting the mounting standard input by the engineer by the mounting standard information converting unit 110 into information and storing it as mounting standard information, and has the following configuration.

実装標準ID(Identifier)T211:個々の実装標準の情報を一意に識別するための識別情報である。
実装標準名T212:実装標準の処理内容を示す名称である。
処理パターン数T213:実装標準の情報を構成する処理パターンの数である。
処理パターンリストT214:実装標準の情報を構成する処理パターンに関し、処理パターン数T213内の数の分だけ、処理パターンDB220から実装標準を構成する処理パターンIDT221の内容が格納される。
Mounting standard ID (Identifier) T211: Identification information for uniquely identifying information of each mounting standard.
Mounting standard name T212: A name indicating the processing content of the mounting standard.
Number of processing patterns T213: The number of processing patterns constituting the information of the mounting standard.
Processing pattern list T214: With respect to the processing patterns constituting the mounting standard information, the contents of the processing pattern IDT 221 constituting the mounting standard are stored from the processing pattern DB 220 by the number in the processing pattern number T213.

次に、処理パターンDB220の構成について説明する。   Next, the configuration of the processing pattern DB 220 will be described.

図5は、処理パターンDB220の構成を示す説明図である。処理パターンDB220は、実装標準情報化部110により技術者が入力した処理パターンを情報化して格納するためのデータベースであり、以下の構成を持つ。   FIG. 5 is an explanatory diagram showing the configuration of the processing pattern DB 220. The processing pattern DB 220 is a database for storing the processing pattern input by the engineer by the mounting standard information converting unit 110 and having the following configuration.

処理パターンIDT221:個々の処理パターンの情報を一意に識別するための識別情報である。
処理パターン名T222:処理パターンの処理内容を示す名称である。
構造単位数T223:処理パターンの情報を構成する構造単位の数である。
構造単位リストT224:処理パターンの情報を構成する構造単位のリストである。構造単位数T223に格納されている数の分だけ処理パターンを構成する構造単位が格納される。
Process pattern IDT 221: This is identification information for uniquely identifying information of individual process patterns.
Process pattern name T222: A name indicating the processing content of the processing pattern.
Number of structural units T223: the number of structural units constituting the processing pattern information.
Structural unit list T224: This is a list of structural units constituting processing pattern information. Structural units constituting the processing pattern are stored by the number stored in the structural unit number T223.

次に、この構造単位リストT224の構成について詳細に説明する。   Next, the configuration of the structural unit list T224 will be described in detail.

図6は、構造単位リストT224の構成を示す説明図である。図6を参照すると、構造単位リストT224は、処理パターンを構成する実装命令群を構造単位の集合として格納するフィールドであり、以下の構成を持つ。   FIG. 6 is an explanatory diagram showing the configuration of the structural unit list T224. Referring to FIG. 6, the structural unit list T224 is a field for storing a group of mounting instructions constituting a processing pattern as a set of structural units, and has the following configuration.

構造IDU2241:個々の構造単位を一意に識別するための識別情報である。
構造タイプU2242:構造情報の種別を示す値である。
内包構造数U2243:この構造が内包する構造単位の数である。
内包構造リストU2244:この構造が内包する構造単位のリストである。
Structure IDU 2241: Identification information for uniquely identifying each structural unit.
Structure type U2242: A value indicating the type of structure information.
Inclusive structure number U2243: This is the number of structural units included in this structure.
Inclusion structure list U2244: This is a list of structural units included in this structure.

構造単位リストT224は、実装標準情報化部110が生成する構造単位情報を格納する。その情報は木構造で構成されることが多い。そのため、処理パターンDB220は、階層型データベースや、XMLDB(XML Data Base)等の階層型データベースで構築されてもよいし、リレーショナルデータベース等で構造の親子関係を保持する形態でもよい。   The structural unit list T224 stores structural unit information generated by the mounting standard information generating unit 110. The information is often composed of a tree structure. Therefore, the processing pattern DB 220 may be constructed by a hierarchical database or a hierarchical database such as XMLDB (XML Data Base), or may have a structure that holds a parent-child relationship of the structure in a relational database or the like.

プログラム構造解析部120は、ソースプログラム710を受け取り、テキストで構成されているソースプログラム710の字句、構文を解析し、構文木を構成する構文単位に変換し、その情報をプログラム構造情報DB230に格納する。プログラム構造解析部120は、公知の技術、たとえば、Yacc(Yet another compiler compiler)/Lex(Lexical analyzer),JavaCC(Java(登録商標) Compiler Compiler)に代表されるようなコンパイラコンパイラにより自動生成される字句、構文解析器により実現されてもよい。   The program structure analysis unit 120 receives the source program 710, analyzes the lexical and syntax of the source program 710 composed of text, converts it into syntax units constituting a syntax tree, and stores the information in the program structure information DB 230. To do. The program structure analysis unit 120 is automatically generated by a known technique, for example, a compiler compiler represented by Yacc (Yet another compiler compiler) / Lex (Lexical analyzer), JavaCC (Java (registered trademark) Compiler Compiler). It may be realized by a lexical analyzer or a parser.

次に、プログラム構造情報DB230の構成について説明する。   Next, the configuration of the program structure information DB 230 will be described.

図7は、プログラム構造情報DB230の構成を示す説明図である。図7を参照すると、プログラム構造情報DB230は、プログラム構造解析部120によってソースプログラム710の文法構造を解析され生成された構文情報を蓄積するためのデータベースであって、以下の構成を持つ。   FIG. 7 is an explanatory diagram showing the configuration of the program structure information DB 230. Referring to FIG. 7, the program structure information DB 230 is a database for storing syntax information generated by analyzing the grammatical structure of the source program 710 by the program structure analysis unit 120, and has the following configuration.

構造IDT231:個々の構造単位を一意に識別するための識別情報である。
構造タイプT232:構造情報の種別を示す値である。
ファイル名T233:この構造が含まれるソースプログラム710のファイルの名称である。
開始行番号T234:この構造が含まれるソースプログラム710内での、この構造の先頭行番号である。
終了行番号T235:この構造が含まれるソースプログラム710内での、この構造の終了行番号である。
内包構造数T236:この構造が内包する構造単位の数である。
内包構造リストT237:この構造が内包する構造単位のリストである。
Structure IDT 231 is identification information for uniquely identifying each structural unit.
Structure type T232: a value indicating the type of structure information.
File name T233: The name of the file of the source program 710 including this structure.
Start line number T234: This is the first line number of this structure in the source program 710 including this structure.
End line number T235: This is the end line number of this structure in the source program 710 including this structure.
Inclusion structure number T236: the number of structural units included in this structure.
Inclusion structure list T237: This is a list of structural units included in this structure.

プログラム構造情報DB230は、プログラム構造解析部120により生成された構文情報を格納するので、その構文情報は、木構造で構成されることが多い。そのため、プログラム構造情報DB230は、階層型DBや、XMLDB等の階層型DBで構築されてもよいし、リレーショナルDB等で構造の親子関係を保持する形態でもよい。   Since the program structure information DB 230 stores syntax information generated by the program structure analysis unit 120, the syntax information often has a tree structure. Therefore, the program structure information DB 230 may be constructed by a hierarchical DB or a hierarchical DB such as XMLDB, or may have a form in which a structure parent-child relationship is held by a relational DB or the like.

処理パターン検索部130は、プログラム構造情報DB230の中から処理パターンDB220に格納されている処理パターンを定義している単一または複数の構造単位列を検索する。   The processing pattern search unit 130 searches the program structure information DB 230 for a single or a plurality of structural unit strings defining processing patterns stored in the processing pattern DB 220.

検索の際には、処理パターン検索部130は、処理パターンDB220に格納されている複数個の任意の構造単位を表すワイルドカードや、特定の構造単位の集合を表すパターン演算子を解釈して条件に該当するプログラムの部分構造を検索する。そして、処理パターン検索部130は、その検索結果を処理パターン検索結果DB240に格納する。   At the time of the search, the processing pattern search unit 130 interprets a wild card representing a plurality of arbitrary structural units stored in the processing pattern DB 220 and a pattern operator representing a set of specific structural units. The partial structure of the program corresponding to is searched. Then, the process pattern search unit 130 stores the search result in the process pattern search result DB 240.

次に、処理パターン検索結果DB240について説明する。   Next, the processing pattern search result DB 240 will be described.

図8は、処理パターン検索結果DB240の構成を示す説明図である。図8を参照すると、処理パターン検索結果DB240は、処理パターン検索部130により検索された結果を格納するためのデータベースであって、以下の構成を持つ。   FIG. 8 is an explanatory diagram showing the configuration of the processing pattern search result DB 240. Referring to FIG. 8, the processing pattern search result DB 240 is a database for storing results searched by the processing pattern search unit 130, and has the following configuration.

検索結果IDT241:個々の検索結果を一意に識別するための識別情報である。
検出処理パターンIDT242:処理パターンDB220の中で一致した処理パターンのIDである。
ファイル名T243:一致した処理パターンが含まれるソースプログラム710のファイルの名称である。
開始行番号T244:一致した処理パターンが含まれるソースプログラム710内での、このパターンの先頭行番号である。
終了行番号T245:一致した処理パターンが含まれるソースプログラム710内での、このパターンの終了行番号である。
Search result IDT 241 is identification information for uniquely identifying each search result.
Detection processing pattern IDT242: ID of the processing pattern that matches in the processing pattern DB 220.
File name T243: The name of the file of the source program 710 that includes the matched processing pattern.
Start line number T244: This is the first line number of this pattern in the source program 710 including the matched processing pattern.
End line number T245: This is the end line number of this pattern in the source program 710 containing the matched processing pattern.

実装標準診断部140は、処理パターン検索結果DB240に格納された処理パターンから実装標準DB210に格納されている実装標準がどれだけ成立しているかを検索する。その際に、実装標準診断部140は、その実装標準が存在するソースプログラム710のファイルの名称や、実装標準の実装の開始する行番号、および、終了する行番号を結果出力部600に表示する。   The mounting standard diagnosis unit 140 searches how many mounting standards stored in the mounting standard DB 210 are established from the processing patterns stored in the processing pattern search result DB 240. At that time, the mounting standard diagnosis unit 140 displays the name of the file of the source program 710 in which the mounting standard exists, the line number at which mounting of the mounting standard starts, and the line number at which the mounting standard ends at the result output unit 600. .

また、実装標準診断部140は、これらの他に実装標準がどのくらい準拠されているかを示す一致率等を算出して表示することが可能である。実装標準診断部140は、これらの結果をGUI(グラフィックユーザインタフェース)で表示してもよいし、CUI(キャラクターユーザインタフェース)で表示してもよいし、ファイルやデータベースに記録してもよい。結果出力部600は、たとえば、ディスプレイである。   In addition to the above, the mounting standard diagnosis unit 140 can calculate and display a matching rate indicating how much the mounting standard is compliant. The mounting standard diagnosis unit 140 may display these results with a GUI (graphic user interface), may display them with a CUI (character user interface), or may record them in a file or database. The result output unit 600 is, for example, a display.

また、図示しないが、処理パターン検索結果DB240の内容を、結果出力部600に表示する構成も可能である。   Further, although not shown, a configuration in which the content of the processing pattern search result DB 240 is displayed on the result output unit 600 is also possible.

次に、第2の実施の形態の動作について図面を参照して詳細に説明する。   Next, the operation of the second embodiment will be described in detail with reference to the drawings.

図9は、第2の実施の形態の動作を示す動作説明図である。図9を参照すると、実装標準情報化部110は、技術者により入力されたプログラム実装に関する実装標準の知識を情報化して実装標準DB210に格納する(ステップS11)。   FIG. 9 is an operation explanatory diagram illustrating the operation of the second embodiment. Referring to FIG. 9, the mounting standard information conversion unit 110 converts the knowledge of the mounting standard regarding the program mounting input by the engineer into information and stores it in the mounting standard DB 210 (step S11).

すなわち、実装標準情報化部110は、技術者により入力されたプログラム実装に関する実装標準の名称を実装標準DB210に格納する。実装標準情報化部110は、インタフェース(グラフィカルユーザインタフェース、コマンドラインインターフェース、ファイルインターフェース等)により、プログラム実装に関する実装標準の名称を受け取り、それを実装標準DB210に格納する。   That is, the mounting standard information conversion unit 110 stores the name of the mounting standard regarding the program mounting input by the engineer in the mounting standard DB 210. The implementation standard information unit 110 receives the name of the implementation standard related to program implementation through an interface (graphical user interface, command line interface, file interface, etc.) and stores it in the implementation standard DB 210.

具体的には、実装標準情報化部110は、この実装標準の情報を一意に識別するためのID番号を採番し、実装標準DB210の実装標準IDT211に格納し、実装標準の名称を実装標準名T212に格納する。   Specifically, the mounting standard information generating unit 110 assigns an ID number for uniquely identifying the information of the mounting standard, stores the ID number in the mounting standard IDT 211 of the mounting standard DB 210, and sets the name of the mounting standard as the mounting standard. It stores in name T212.

また、実装標準情報化部110は、技術者により入力された実装標準を構成する処理パターンを情報化して処理パターンDB220に格納する(ステップS12)。   Further, the mounting standard information conversion unit 110 converts the processing pattern constituting the mounting standard input by the engineer into information and stores it in the processing pattern DB 220 (step S12).

すなわち、実装標準情報化部110は、インタフェース(グラフィカルユーザインタフェース、コマンドラインインターフェース、ファイルインターフェース等)により、実装標準を構成する処理パターンの情報を受け取り、それらを処理パターンDB220に格納する。   That is, the implementation standard information conversion unit 110 receives information on processing patterns constituting the implementation standard through an interface (graphical user interface, command line interface, file interface, etc.) and stores them in the processing pattern DB 220.

具体的には、実装標準情報化部110は、処理パターン情報を一意に識別するためのID番号を採番し、処理パターンDB220の処理パターンIDT221に格納し、処理パターンの名称を処理パターン名T222に格納する。   Specifically, the mounting standard information converting unit 110 assigns an ID number for uniquely identifying the processing pattern information, stores the ID number in the processing pattern IDT 221 of the processing pattern DB 220, and sets the processing pattern name as the processing pattern name T222. To store.

さらに、実装標準情報化部110は、この処理パターンを構成する構造単位の数を構造単位数T223に格納し、処理パターンを構成する構造単位の情報を構造単位リストT224に格納する。実装標準情報化部110は、この処理パターンに関する処理を実装標準を構成する処理パターンの数だけ実施する。   Further, the mounting standard information conversion unit 110 stores the number of structural units constituting the processing pattern in the structural unit number T223, and stores information on the structural units constituting the processing pattern in the structural unit list T224. The mounting standard information conversion unit 110 performs processing related to this processing pattern by the number of processing patterns constituting the mounting standard.

また、実装標準情報化部110は、実装標準と処理パターンとを関連付ける(ステップS12)。すなわち、実装標準情報化部110は、処理パターンDB220に格納した処理パターンの数、処理パターンDB220に格納した処理パターンのIDを、それぞれ、実装標準DB210の処理パターン数T213、処理パターンリストT214に格納する。   Further, the mounting standard information forming unit 110 associates the mounting standard with the processing pattern (step S12). That is, the mounting standard information conversion unit 110 stores the number of processing patterns stored in the processing pattern DB 220 and the ID of the processing pattern stored in the processing pattern DB 220 in the processing pattern number T213 and the processing pattern list T214 in the mounting standard DB 210, respectively. To do.

また、プログラム構造解析部120は、技術者により指定されたソースプログラム710を受け取り、その構文を解析して構文情報を生成し、プログラム構造情報DB230に格納する(ステップS13)。   Further, the program structure analysis unit 120 receives the source program 710 designated by the engineer, analyzes its syntax, generates syntax information, and stores it in the program structure information DB 230 (step S13).

すなわち、プログラム構造解析部120は、ソースプログラム710を受け取り、ソースプログラム710の字句、構文を解析する。そして、プログラム構造解析部120は、テキストで構成されているソースプログラム710を、構文木で構成される構文単位に変換し、その情報をプログラムを構成する構造単位毎にプログラム構造情報DB230に格納する。   That is, the program structure analysis unit 120 receives the source program 710 and analyzes the lexical and syntax of the source program 710. Then, the program structure analysis unit 120 converts the source program 710 composed of text into syntax units composed of syntax trees, and stores the information in the program structure information DB 230 for each structural unit constituting the program. .

具体的には、プログラム構造解析部120は、ソースプログラム710を構成する構造単位を識別するためのID番号を採番し、プログラム構造情報DB230の構造IDT231に格納する。そして、プログラム構造解析部120は、構造単位の種別を表す情報を構造タイプT232に格納し、その構造単位が含まれているソースプログラム710のファイルの名称をファイル名T233に格納する。   Specifically, the program structure analysis unit 120 assigns an ID number for identifying a structural unit constituting the source program 710 and stores it in the structure IDT 231 of the program structure information DB 230. Then, the program structure analysis unit 120 stores information indicating the type of the structural unit in the structural type T232, and stores the name of the file of the source program 710 including the structural unit in the file name T233.

そして、プログラム構造解析部120は、その構造単位がソースプログラム710に出現する先頭の行番号を開始行番号T234に格納し、その構造単位がソースプログラム710に出現する最終の行番号を終了行番号T235に格納する。   Then, the program structure analysis unit 120 stores the first line number where the structural unit appears in the source program 710 in the start line number T234, and sets the last line number where the structural unit appears in the source program 710 as the end line number. Store in T235.

そして、プログラム構造解析部120は、その構造単位が他の構造単位を自らの構造に子要素として含む数を内包構造数T236に格納し、その内包構造を構成する構造単位の構造の名称(ID)を内包構造リストT237に格納する。   Then, the program structure analysis unit 120 stores the number of other structural units including other structural units as child elements in its own structure in the inclusion structure number T236, and the name of the structure unit structure (ID) constituting the inclusion structure. ) Is stored in the inclusion structure list T237.

次に、処理パターン検索部130は、プログラム構造情報DB230に格納された構文情報の中に、処理パターンDB220に格納されている処理パターンを構成する構造単位の並びが含まれているかどうかを検索する(ステップS14)。そして、処理パターン検索部130は、その検索結果を処理パターン検索結果DB240に格納する(ステップS14)。   Next, the processing pattern retrieval unit 130 retrieves whether or not the syntax information stored in the program structure information DB 230 includes an arrangement of structural units constituting the processing pattern stored in the processing pattern DB 220. (Step S14). Then, the processing pattern search unit 130 stores the search result in the processing pattern search result DB 240 (step S14).

すなわち、処理パターン検索部130は、プログラム構造情報DB230に格納された全てのソースプログラム710の構造情報を対象とする。そして、処理パターン検索部130は、処理パターンDB220に格納された全ての処理パターン情報のうち、特に構造単位リストT224に格納された構造単位の並びがソースプログラム710の対象となった構造情報に含まれているかどうかを検索する。   That is, the processing pattern search unit 130 targets the structure information of all source programs 710 stored in the program structure information DB 230. Then, the processing pattern search unit 130 includes, among all the processing pattern information stored in the processing pattern DB 220, the structural unit sequence stored in the structural unit list T 224 in the structural information targeted by the source program 710. Find out if it is.

処理パターン検索部130は、構造単位リストT224に格納された構造単位の中に、任意の構造単位にマッチするワイルドカードや特定の条件を示すパターン演算子等が指定されている場合は、その条件を満たす構造単位の配列が存在するかどうかを検索する。そして、処理パターン検索部130は、その結果検出されたパターンを処理パターン検索結果DB240に格納する。   The processing pattern search unit 130, when a wild card that matches an arbitrary structural unit, a pattern operator indicating a specific condition, or the like is designated in the structural units stored in the structural unit list T224, Search for an array of structural units that satisfy. Then, the processing pattern search unit 130 stores the pattern detected as a result in the processing pattern search result DB 240.

具体的には、処理パターン検索部130は、検出された結果を一意に識別するための検索結果のIDを採番し、検索結果IDT241に格納する。そして、処理パターン検索部130は、対応する処理パターンのID(すなわち、処理パターンDB220の処理パターンIDT221内の処理パターンIDT221)を検出処理パターンIDT242に格納する。   Specifically, the processing pattern search unit 130 assigns a search result ID for uniquely identifying the detected result, and stores it in the search result IDT 241. Then, the processing pattern search unit 130 stores the ID of the corresponding processing pattern (that is, the processing pattern IDT221 in the processing pattern IDT221 of the processing pattern DB 220) in the detection processing pattern IDT242.

そして、処理パターン検索部130は、検出した結果が含まれていたソースプログラム710のファイルの名称をファイル名T243に格納する。そして、処理パターン検索部130は、検出結果がソースプログラム710に出現する先頭の行番号を開始行番号T244に格納し、検出結果がソースプログラム710に出現する最終の行番号を終了行番号T245に格納する。   Then, the processing pattern search unit 130 stores the name of the file of the source program 710 that includes the detected result in the file name T243. Then, the processing pattern search unit 130 stores the first line number where the detection result appears in the source program 710 in the start line number T244, and the last line number where the detection result appears in the source program 710 as the end line number T245. Store.

ここで、行に関しては、たとえば、ソースプログラム710において、行頭から改行符号までが1行である。   Here, for the line, for example, in the source program 710, the line from the beginning to the line feed code is one line.

次に、実装標準診断部140は、処理パターン検索結果DB240内の検索結果から実装標準DB210内の実装標準の適用状態を診断し、診断結果を結果出力部600に出力する(ステップS15)。   Next, the mounting standard diagnosis unit 140 diagnoses the application state of the mounting standard in the mounting standard DB 210 from the search result in the processing pattern search result DB 240, and outputs the diagnosis result to the result output unit 600 (step S15).

すなわち、実装標準診断部140は、実装標準DB210内の実装標準の情報について、実装標準を構成する処理パターンがどれだけ存在するかを、処理パターン検索結果DB240に格納されている検索結果から判定し、診断結果を結果出力部600に出力する。   That is, the mounting standard diagnosis unit 140 determines, from the search results stored in the processing pattern search result DB 240, how many processing patterns constituting the mounting standard exist for the mounting standard information in the mounting standard DB 210. The diagnosis result is output to the result output unit 600.

技術者等は、たとえば、結果出力部600に表示された診断結果を認識することができる。   The engineer or the like can recognize the diagnosis result displayed on the result output unit 600, for example.

次に、第2の実施の形態の効果について説明する。   Next, the effect of the second embodiment will be described.

第2の実施の形態は、第1の実施の形態の診断システム800を含む構成である。したがって、第2の実施の形態は、第1の実施の形態と同一の効果を持つ。   The second embodiment is configured to include the diagnostic system 800 of the first embodiment. Therefore, the second embodiment has the same effect as the first embodiment.

次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。   Next, a third embodiment of the present invention will be described in detail with reference to the drawings.

図10は、第3の実施の形態の構成を示すブロック図である。図10を参照すると、第3の実施の形態は、第2の実施の形態の一例である。ソースプログラム710は、たとえば、C言語で記述されたプログラムである。ソースプログラム710の形態は、1つのファイル形式であり、ファイルの名称は、「src.c」である。   FIG. 10 is a block diagram illustrating a configuration of the third embodiment. Referring to FIG. 10, the third embodiment is an example of the second embodiment. The source program 710 is a program written in C language, for example. The form of the source program 710 is one file format, and the name of the file is “src.c”.

図11は、ソースプログラム710(src.c)のプログラム記述内容の例を示す説明図である。図11において、プログラム記述左側の「01:」等の3文字分は本文中に各行を参照するための行番号であり、実際のプログラム記述には含まれていないものとする。   FIG. 11 is an explanatory diagram showing an example of the program description content of the source program 710 (src.c). In FIG. 11, three characters such as “01:” on the left side of the program description are line numbers for referring to each line in the text, and are not included in the actual program description.

次に、第3の実施の形態の動作について図面(図9、図11〜図22)を参照して詳細に説明する。   Next, the operation of the third embodiment will be described in detail with reference to the drawings (FIGS. 9 and 11 to 22).

実装標準情報化部110は、プログラム実装に関する実装標準の名称を受け取り、実装標準DB210に格納する(ステップS11)。図12は、実装標準用ユーザインタフェース010の構成を示す説明図である。図13は、第3の実施の形態の実装標準DB210の構成を示す説明図である。   The mounting standard information conversion unit 110 receives the name of the mounting standard related to program mounting and stores it in the mounting standard DB 210 (step S11). FIG. 12 is an explanatory diagram showing the configuration of the implementation standard user interface 010. FIG. 13 is an explanatory diagram illustrating a configuration of the mounting standard DB 210 according to the third embodiment.

すなわち、技術者により、診断システム800が起動されると、実装標準情報化部110は、図12に示す実装標準用ユーザインタフェース010を表示し、技術者に情報の入力を促す。たとえば、実装標準名入力用テキストフィールド011には、技術者により、「ファイルからデータを読む」と入力され、実装標準作成用ボタン012が押下される。   That is, when the diagnostic system 800 is started by the engineer, the mounting standard information generating unit 110 displays the mounting standard user interface 010 shown in FIG. 12 and prompts the engineer to input information. For example, in the implementation standard name input text field 011, the engineer inputs “read data from a file” and presses the implementation standard creation button 012.

すると、実証標準情報化手段11は、図13に示すように、この実装標準の情報を一意に識別するためのID番号「1」を採番し、実装標準DB210の実装標準IDT211に格納し、実装標準の名称「ファイルからデータを読む」を実装標準名T212に格納する。   Then, as shown in FIG. 13, the verification standard information converting means 11 assigns an ID number “1” for uniquely identifying the information of the mounting standard, stores it in the mounting standard IDT 211 of the mounting standard DB 210, The name of the implementation standard “read data from file” is stored in the implementation standard name T212.

また、実装標準情報化部110は、実装標準を構成する処理パターンを受け取り、それを情報化して処理パターンDB220に格納する(ステップS12)。図14は、処理パターン入力用ユーザインタフェース020の構成を示す説明図である。   Also, the mounting standard information conversion unit 110 receives a processing pattern constituting the mounting standard, converts it into information, and stores it in the processing pattern DB 220 (step S12). FIG. 14 is an explanatory diagram showing the configuration of the user interface 020 for processing pattern input.

すなわち、実装標準情報化部110は、図14に示す処理パターン入力用ユーザインタフェース020を表示し、技術者に情報の入力を促す。   That is, the implementation standard information converting unit 110 displays the processing pattern input user interface 020 shown in FIG. 14 and prompts the engineer to input information.

たとえば、技術者により、パターン名入力テキストフィールド021に、実装標準を構成する第1の処理パターンの名称である「ファイルオープン」が入力される。さらに、続く処理構文入力テキストフィールド022に、その処理パターンを構成する実装命令である「$fp=fopen($fname,“r”);」が入力される。   For example, the engineer inputs “file open”, which is the name of the first processing pattern constituting the implementation standard, in the pattern name input text field 021. Further, “$ fp = fopen ($ fname,“ r ”);”, which is an implementation instruction constituting the processing pattern, is input to the subsequent processing syntax input text field 022.

この時、実装命令の入力で使用された$fp、$fname等は、パターン中の変数部分で使用される「ラベル」であり、実装標準の定義中に同じ名称で示されたラベルの部分は、同一の名称で一致しなければならないという制約を持つ。ただし、実際のプログラム内ではラベルと異なる文字列でも構わない。   At this time, $ fp, $ fname, etc. used in the input of the implementation instruction are "labels" used in the variable part in the pattern, and the part of the label indicated by the same name in the definition of the implementation standard is , With the restriction that they must match with the same name. However, a character string different from the label may be used in the actual program.

以下、継続して、パターン名入力テキストフィールド023に、第2の処理パターンの名称である「他の処理」が入力され、続く処理構文入力テキストフィールド024にその処理パターンを構成する実装命令である「*」が入力される。この時に用いられる「*」は、一般的に正規表現等で用いられるワイルドカードと同義であり、0個以上の任意の構造単位が存在することを表す。   Hereafter, “another process” that is the name of the second process pattern is continuously input to the pattern name input text field 023, and the subsequent process syntax input text field 024 is an implementation instruction that configures the process pattern. “*” Is entered. “*” Used at this time is synonymous with a wild card generally used in a regular expression or the like, and represents that there are zero or more arbitrary structural units.

次に、パターン名入力テキストフィールド025に、第3の処理パターンの名称である「データ読み込み」が入力され、続く処理構文入力テキストフィールド026に、その処理パターンを構成する実装命令である「fscanf|fread」が入力される。演算子「|」は論理和(or)演算子であり、この場合は「fscanf」命令か「fread」命令が存在すればよいという定義になる。   Next, “data read”, which is the name of the third processing pattern, is input to the pattern name input text field 025, and “fscanf |”, which is an implementation instruction constituting the processing pattern, is input to the subsequent processing syntax input text field 026. fread "is entered. The operator “|” is a logical sum (or) operator, and in this case, it is defined that the “fscanf” instruction or the “fread” instruction only needs to exist.

次に、パターン名入力テキストフィールド027に、第4の処理パターンの名称である「他の処理」が入力され、続く処理構文入力テキストフィールド028に、その処理パターンを構成する実装命令である「*」が入力される。   Next, “other process”, which is the name of the fourth process pattern, is input to the pattern name input text field 027, and “*” which is an implementation instruction constituting the process pattern is input to the subsequent process syntax input text field 028. Is entered.

次に、パターン名入力テキストフィールド029に、第5の処理パターンの名称である「ファイルクローズ」が入力され、続く処理構文入力テキストフィールド02Aに、その処理パターンを構成する実装命令である「fclose($fp);」が入力される。ここで前述したラベルが使われているので、fclose関数の引数として使われる変数は、第1の処理パターン内のfopen関数が戻り値を格納する変数と同じ名称でなければならないことを示している。   Next, “file close”, which is the name of the fifth processing pattern, is input to the pattern name input text field 029, and “fclose (”, which is an implementation instruction constituting the processing pattern, is input to the subsequent processing syntax input text field 02 A. $ fp); "is entered. Since the label mentioned above is used here, it indicates that the variable used as the argument of the fclose function must have the same name as the variable that stores the return value in the fopen function in the first processing pattern. .

図15は、第3の実施の形態の処理パターンDB220の構成を示す説明図である。図16は、第3の実施の形態の実装標準DB210の構成を示す説明図である。   FIG. 15 is an explanatory diagram illustrating a configuration of the processing pattern DB 220 according to the third embodiment. FIG. 16 is an explanatory diagram illustrating a configuration of the mounting standard DB 210 according to the third embodiment.

上記入力が全て完了し、パターン処理入力決定用ボタン02Bが押下されると、実証標準情報化手段11は、入力されたデータを図15に示すように処理パターンDB220に格納し、さらに、実装標準と処理パターンとを関連付ける(ステップS12)。   When all the above inputs are completed and the pattern processing input decision button 02B is pressed, the verification standard information converting means 11 stores the input data in the processing pattern DB 220 as shown in FIG. Are associated with the processing pattern (step S12).

すなわち、実証標準情報化手段11は、図16に示すように実装標準DB210の処理パターン数T213には、処理パターンの数である「5」を格納する。さらに、実証標準情報化手段11は、処理パターンリストT214には、処理パターンDB220に格納された処理パターンの処理パターンIDT221である「1」、「2」、「3」、「4」、「5」をリスト化して格納する。   That is, the demonstration standard information processing unit 11 stores “5” as the number of processing patterns in the processing pattern number T213 of the mounting standard DB 210 as shown in FIG. Further, the verification standard information converting means 11 includes, in the processing pattern list T214, “1”, “2”, “3”, “4”, “5” which are the processing pattern IDTs 221 of the processing patterns stored in the processing pattern DB 220. "In a list.

図17は、図15の処理パターンIDT221が「1」である構造単位の構成(構文木)を示す説明図である。図17を参照すると、構文木には、構造単位である代入(=)、変数($fp)、関数(fopen)、変数($fname)、文字列(“r”)が含まれる。   FIG. 17 is an explanatory diagram showing the structure (syntax tree) of the structural unit whose processing pattern IDT 221 in FIG. 15 is “1”. Referring to FIG. 17, the syntax tree includes assignment (=), variable ($ fp), function (fopen), variable ($ fname), and character string (“r”) that are structural units.

図18は、図17の構文木の情報を格納する図15の処理パターンDB220内の構造単位リストT224の構成を示す説明図である。図18を参照すると、構造単位リストT224の構造IDU2241は、「1」、「2」、「3」、「4」、「5」を含む。   FIG. 18 is an explanatory diagram showing the configuration of the structural unit list T224 in the processing pattern DB 220 of FIG. 15 that stores information of the syntax tree of FIG. Referring to FIG. 18, the structure IDU 2241 of the structural unit list T224 includes “1”, “2”, “3”, “4”, and “5”.

構造タイプU2242は、代入(=)、変数($fp)、関数(fopen)、変数($fname)、文字列(“r”)を含む。内包構造数U2243は、「2」、「0」、「2」、「0」、「0」を含む。内包構造リストU2244は、「2,3」、「4,5」を含む。   The structure type U2242 includes substitution (=), variable ($ fp), function (fopen), variable ($ fname), and character string (“r”). The inclusion structure number U2243 includes “2”, “0”, “2”, “0”, and “0”. The inclusion structure list U2244 includes “2, 3” and “4, 5”.

プログラム構造解析部120は、技術者により入力されたソースプログラム710の構文を解析して構文情報を生成し、プログラム構造情報DB230に格納する(ステップS13)。   The program structure analysis unit 120 analyzes the syntax of the source program 710 input by the engineer to generate syntax information, and stores it in the program structure information DB 230 (step S13).

図19は、プログラム構造解析部120により、図11のソースプログラム710(src.c)が解析され、生成された構文木を示す説明図である。図20は、第3の実施の形態のプログラム構造情報DB230の構成を示す説明図である。プログラム構造解析部120により生成された構文木の情報が、図20に示す構成でプログラム構造情報DB230に格納される。   FIG. 19 is an explanatory diagram showing a syntax tree generated by analyzing the source program 710 (src.c) of FIG. 11 by the program structure analysis unit 120. FIG. 20 is an explanatory diagram illustrating a configuration of the program structure information DB 230 according to the third embodiment. Information of the syntax tree generated by the program structure analysis unit 120 is stored in the program structure information DB 230 with the configuration shown in FIG.

次に、処理パターン検索部130は、プログラム構造情報DB230に格納された構文情報の中に、処理パターンDB220に格納されている処理パターンを構成する構造単位の並びが含まれているかどうかを検索する(ステップS14)。そして、処理パターン検索部130は、その検索結果を処理パターン検索結果DB240に格納する(ステップS14)。   Next, the processing pattern retrieval unit 130 retrieves whether or not the syntax information stored in the program structure information DB 230 includes an arrangement of structural units constituting the processing pattern stored in the processing pattern DB 220. (Step S14). Then, the processing pattern search unit 130 stores the search result in the processing pattern search result DB 240 (step S14).

すなわち、処理パターン検索部130は、図20に示すプログラム構造情報DB230に格納されたソースプログラム710の全ての構造情報を対象として検索を行う。処理パターン検索部130は、処理パターンDB220(図15)内の処理パターンIDT221が「1」〜「5」までの全処理パターン情報について、特に、構造単位リストT224に格納された構造単位の並びが含まれているかどうかを検索する。   That is, the processing pattern search unit 130 searches for all the structure information of the source program 710 stored in the program structure information DB 230 shown in FIG. The processing pattern search unit 130 sets the arrangement of the structural units stored in the structural unit list T224 especially for all the processing pattern information in which the processing pattern IDT 221 in the processing pattern DB 220 (FIG. 15) is “1” to “5”. Search for inclusion.

たとえば、処理パターンIDT221が、「1」のものについては、図18に示すように、その構造が構造単位リストT224に格納される。その構造である「代入、変数、関数(fopen)、変数、文字列(“r”)」のパターンが、プログラム構造情報DB230(図20)内の構造IDT231の「10」〜「14」のパターンに一致する。   For example, for the processing pattern IDT 221 of “1”, the structure is stored in the structural unit list T224 as shown in FIG. The pattern of “assignment, variable, function (fopen), variable, character string (“ r ”)” that is the structure is a pattern of “10” to “14” of the structure IDT 231 in the program structure information DB 230 (FIG. 20). Matches.

図21は、第3の実施の形態の検索結果を含む処理パターン検索結果DB240の構成を示す説明図である。図21を参照すると、処理パターン検索結果DB240は、検索結果として、検索結果IDT241、検索処理パターンIDT242、ファイル名T243、開始行番号T244、および、終了行願号T245を含む。   FIG. 21 is an explanatory diagram illustrating a configuration of the processing pattern search result DB 240 including the search results according to the third embodiment. Referring to FIG. 21, the processing pattern search result DB 240 includes a search result IDT 241, a search processing pattern ID T242, a file name T243, a start line number T244, and an end line application number T245 as search results.

この場合、処理パターン検索部130は、処理パターンDB220の処理パターンIDT221の値「1」のパターンが、プログラム構造情報DB230内に含まれていると判定し、その検索結果を処理パターン検索結果DB240に格納する。   In this case, the processing pattern search unit 130 determines that the pattern having the value “1” of the processing pattern IDT 221 in the processing pattern DB 220 is included in the program structure information DB 230, and stores the search result in the processing pattern search result DB 240. Store.

詳細には、処理パターン検索部130は、検出された結果を一意に識別するための検索結果のIDとして「1」を採番し、検索結果IDT241に格納する。そして、処理パターン検索部130は、処理パターンDB220に格納されている処理パターンを識別する処理パターンIDT221の「1」(検出した処理パターンのID)を検出処理パターンIDT242に格納する。   Specifically, the processing pattern search unit 130 assigns “1” as the search result ID for uniquely identifying the detected result, and stores it in the search result IDT 241. Then, the processing pattern search unit 130 stores “1” (ID of the detected processing pattern) of the processing pattern IDT 221 that identifies the processing pattern stored in the processing pattern DB 220 in the detection processing pattern IDT 242.

さらに、処理パターン検索部130は、検索結果が含まれているソースプログラム710のファイルの名称「src.c」をファイル名T243に格納する。さらに、処理パターン検索部130は、検出結果が、ソースプログラム710に出現する先頭の行番号「8」を開始行番号T244に格納し、検出結果がソースプログラム710に出現する最終の行番号「8」を終了行番号T245に格納する。   Further, the processing pattern search unit 130 stores the file name “src.c” of the source program 710 including the search result in the file name T243. Further, the processing pattern search unit 130 stores the first line number “8” in which the detection result appears in the source program 710 in the start line number T244, and the last line number “8” in which the detection result appears in the source program 710. Is stored in the end line number T245.

このようにして、処理パターン検索部130は、処理パターンDB220に格納された処理パターンについて全て検索し、図21に示すように処理パターン検索結果DB240に検索結果を格納する。   In this way, the processing pattern search unit 130 searches all processing patterns stored in the processing pattern DB 220, and stores the search results in the processing pattern search result DB 240 as shown in FIG.

次に、実装標準診断部140は、処理パターン検索結果DB240に格納されている検索結果から実装標準DB210に格納されている実装標準の適用状態を診断し、結果出力部600に出力する(ステップS15)。   Next, the mounting standard diagnosis unit 140 diagnoses the application state of the mounting standard stored in the mounting standard DB 210 from the search result stored in the processing pattern search result DB 240, and outputs it to the result output unit 600 (step S15). ).

実装標準診断部140は、図16に示す実装標準DB210内の実装標準IDT211の値「1」のものについて、処理パターンリストT214に格納されている処理パターン(ここでは、「1」〜「5」)すべてが、処理パターン検索結果DB240に、検出されているかどうかを検索して判定する。   The mounting standard diagnosis unit 140 uses the processing patterns (here, “1” to “5”) stored in the processing pattern list T214 for the value “1” of the mounting standard IDT 211 in the mounting standard DB 210 illustrated in FIG. ) All are searched in the processing pattern search result DB 240 to determine whether they have been detected.

この場合、処理パターン検索結果DB240の検出処理パターンIDT242は、「1」〜「5」が順番に含まれている。したがって、実装標準DB210の処理パターンリストT214内のすべての処理パターンIDが、その順番で、検出されていることがわかる。   In this case, the detection pattern IDT242 of the processing pattern search result DB 240 includes “1” to “5” in order. Therefore, it can be seen that all the processing pattern IDs in the processing pattern list T214 of the mounting standard DB 210 are detected in that order.

以上から、実装標準診断部140は、実装標準DB210内に格納されている実装標準IDT211の値「1」に定義されている実装標準が、ソースプログラム710内に100[%]正しく実装されていると判定する。この100[%]は、実装標準の実装率である。   From the above, the implementation standard diagnosis unit 140 correctly implements the implementation standard defined by the value “1” of the implementation standard IDT 211 stored in the implementation standard DB 210 in the source program 710 100%. Is determined. This 100 [%] is the mounting rate of the mounting standard.

図22は、診断結果表示用ユーザインタフェース030の構成を示す説明図である。実装標準診断部140は、図22に示す診断結果表示用ユーザインタフェース030により診断結果を表示する。   FIG. 22 is an explanatory diagram showing the configuration of the diagnostic result display user interface 030. The mounting standard diagnosis unit 140 displays the diagnosis result using the diagnosis result display user interface 030 shown in FIG.

実装標準診断部140は、ソース表示用領域031上にソースプログラム710のソースコードを表示すると共に、検出した実装標準の範囲、実装標準の名称(ID)、実装標準の実装率を表示する。また、実装標準診断部140は、検出した処理パターンの範囲をソースコード上にオーバーラップして表示する。   The mounting standard diagnosis unit 140 displays the source code of the source program 710 on the source display area 031 and displays the detected mounting standard range, the mounting standard name (ID), and the mounting standard mounting rate. In addition, the mounting standard diagnosis unit 140 displays the detected processing pattern range overlapping the source code.

実装標準診断部140は、ソースコードを補助記憶装置700のソースプログラム710から取り出し、処理パターン名T222を処理パターンDB220から取り出す。   The mounting standard diagnosis unit 140 extracts the source code from the source program 710 of the auxiliary storage device 700, and extracts the processing pattern name T222 from the processing pattern DB 220.

次に、第3の実施の形態の効果について説明する。   Next, the effect of the third embodiment will be described.

第3の実施の形態は、第2の実施の形態の一例である。したがって、第3の実施は、第2の実施の形態と同一の効果を持つ。   The third embodiment is an example of the second embodiment. Therefore, the third embodiment has the same effect as the second embodiment.

たとえば、具体的には、第3の実施の形態は、プログラムのソースコードをメンテナンスする場合において、プログラムの実装に関する知識が少ない技術者でも、顧客の既存システムを調査する際に、効果を持つ。   For example, specifically, the third embodiment has an effect when a customer's existing system is investigated even by an engineer who has little knowledge about program implementation when maintaining the source code of the program.

すなわち、技術者が、プログラムが実装標準等ある一定の基準に従って実装されているか、それとも無秩序に実装されておりメンテナンスの際に予定外の改修やリファクタを要するかを容易に判断することが可能となるからである。   In other words, it is possible for engineers to easily determine whether a program is implemented according to a certain standard such as an implementation standard, or whether it is implemented in a disorderly manner and requires unscheduled modification or refactoring during maintenance. Because it becomes.

以上説明したように、本発明は、既存のシステムを改造したり機能追加したりする場合に、既存システムのソースコードをプログラムの実装に関する知識が少ない技術者が理解して新しいシステムプログラムに移植したりするといった用途に適用できる。   As described above, according to the present invention, when an existing system is modified or a function is added, the source code of the existing system is understood by an engineer who has little knowledge about program implementation and ported to a new system program. It can be used for purposes such as

また、本発明は、プログラムの実装に関する知識が少ない技術者が特定のプログラム実装に関する技術を既存のソースコードから習得するといった用途にも適用可能である。   The present invention can also be applied to applications in which an engineer with little knowledge about program implementation acquires the technology related to a specific program implementation from existing source code.

上記の実施の形態の一部、または、全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

[付記1]
プログラムの実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する処理部と、
前記実装標準情報、前記処理パターン情報、前記プログラム構造情報、および、前記処理パターン検索結果情報を格納する情報格納部と、
を含むことを特徴とする診断システム。
[Appendix 1]
Receiving information related to program implementation, generating implementation standard information, generating process pattern information from process patterns constituting the implementation standard, receiving a source program, analyzing lexical and syntax, and generating program structure information; A processing unit that searches for a program syntax string that matches the processing pattern information from the structure information, and generates processing pattern search result information;
An information storage unit for storing the mounting standard information, the processing pattern information, the program structure information, and the processing pattern search result information;
A diagnostic system comprising:

[付記2]
前記処理部は、前記処理パターン検索結果情報から前記ソースプログラムが前記実装標準情報に従っている程度を判断し診断結果を生成し出力することを特徴する付記1の診断システム。
[Appendix 2]
The diagnostic system according to appendix 1, wherein the processing unit determines a degree to which the source program conforms to the mounting standard information from the processing pattern search result information, and generates and outputs a diagnostic result.

[付記3]
前記処理部は、前記実装標準情報、および、前記処理パターン情報を生成する実装標準情報化部と、前記プログラム構造情報を生成するプログラム構造解析部と、前記処理パターン検索結果情報を生成する処理パターン検索部と、前記診断結果を生成する実装標準診断部と、
を含むことを特徴とする付記2の診断システム。
[Appendix 3]
The processing unit includes the mounting standard information and a mounting standard information generating unit that generates the processing pattern information, a program structure analyzing unit that generates the program structure information, and a processing pattern that generates the processing pattern search result information. A search unit, an implementation standard diagnostic unit for generating the diagnostic result,
The diagnostic system according to appendix 2, characterized by comprising:

[付記4]
前記処理パターン情報は、一意に識別するための識別情報である処理パターンIDを含み、
前記実装標準情報は、一意に識別するための識別情報である実装標準ID、および、前記処理パターン情報内の対応する前記処理パターンIDを含むことを特徴とする付記3の診断システム。
[Appendix 4]
The processing pattern information includes a processing pattern ID which is identification information for uniquely identifying,
The diagnostic system according to appendix 3, wherein the mounting standard information includes a mounting standard ID that is identification information for uniquely identifying and the corresponding processing pattern ID in the processing pattern information.

[付記5]
前記処理パターン情報は、構造単位リストを含み、
前記構造単位リストは、内包構造単位リストを含むことを特徴とする付記4の診断システム。
[Appendix 5]
The processing pattern information includes a structural unit list,
The diagnostic system according to appendix 4, wherein the structural unit list includes an inclusion structural unit list.

[付記6]
前記実装標準診断部は、前記ソースプログラムのファイル名、前記実装標準ID、実装標準の実装率、処理パターンの名称、または、前記ソースプログラムの内容を出力することを特徴とする付記3、4、または、5の診断システム。
[Appendix 6]
The mounting standard diagnosis unit outputs the file name of the source program, the mounting standard ID, the mounting rate of the mounting standard, the name of the processing pattern, or the contents of the source program. Or 5 diagnostic systems.

[付記7]
プログラムの実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成することを特徴とする診断方法。
[Appendix 7]
Receiving information related to program implementation, generating implementation standard information, generating process pattern information from process patterns constituting the implementation standard, receiving a source program, analyzing lexical and syntax, and generating program structure information; A diagnostic method for searching for a program syntax string that matches the processing pattern information from structure information and generating processing pattern search result information.

[付記8]
前記処理パターン検索結果情報から前記ソースプログラムが前記実装標準情報に従っている程度を判断し診断結果を生成し出力することを特徴する付記7の診断方法。
[Appendix 8]
The diagnostic method according to appendix 7, wherein a degree of compliance of the source program according to the mounting standard information is determined from the processing pattern search result information, and a diagnostic result is generated and output.

[付記9]
前記実装標準情報、および、前記処理パターン情報を生成する実装標準情報化処理と、前記プログラム構造情報を生成するプログラム構造解析処理と、前記処理パターン検索結果情報を生成する処理パターン検索処理と、前記診断結果を生成する実装標準診断処理と、
を含むことを特徴とする付記8の診断方法。
[Appendix 9]
The mounting standard information, the mounting standard information processing for generating the processing pattern information, the program structure analysis processing for generating the program structure information, the processing pattern search processing for generating the processing pattern search result information, Implementation standard diagnostic processing to generate diagnostic results,
The diagnostic method according to appendix 8, characterized by comprising:

[付記10]
前記処理パターン情報は、一意に識別するための識別情報である処理パターンIDを含み、
前記実装標準情報は、一意に識別するための識別情報である実装標準ID、および、前記処理パターン情報内の対応する前記処理パターンIDを含むことを特徴とする付記9の診断方法。
[Appendix 10]
The processing pattern information includes a processing pattern ID which is identification information for uniquely identifying,
The diagnostic method according to appendix 9, wherein the mounting standard information includes a mounting standard ID that is identification information for uniquely identifying and the corresponding processing pattern ID in the processing pattern information.

[付記11]
前記処理パターン情報は、構造単位リストを含み、
前記構造単位リストは、内包構造単位リストを含むことを特徴とする付記10の診断方法。
[Appendix 11]
The processing pattern information includes a structural unit list,
The diagnostic method according to appendix 10, wherein the structural unit list includes an inclusion structural unit list.

[付記12]
前記実装標準診断処理は、前記ソースプログラムのファイル名、前記実装標準ID、実装標準の実装率、処理パターンの名称、または、前記ソースプログラムの内容を出力することを特徴とする付記9、10、または、11の診断方法。
[Appendix 12]
The mounting standard diagnosis process outputs the file name of the source program, the mounting standard ID, the mounting rate of the mounting standard, the name of the processing pattern, or the contents of the source program, Or 11 diagnostic methods.

[付記13]
実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する処理をコンピュータに実行させることを特徴とするプログラム。
[Appendix 13]
Receives information related to the implementation, generates implementation standard information, generates process pattern information from the process patterns constituting the implementation standard, receives a source program, analyzes lexical and syntax, generates program structure information, and program structure information A program syntax string that matches the processing pattern information, and causes the computer to execute processing for generating processing pattern search result information.

[付記14]
前記処理パターン検索結果情報から前記ソースプログラムが前記実装標準情報に従っている程度を判断し診断結果を生成し出力する処理をコンピュータに実行させることを特徴する付記13のプログラム。
[Appendix 14]
The program according to appendix 13, wherein the computer is caused to execute a process of determining a degree to which the source program complies with the mounting standard information from the process pattern search result information, and generating and outputting a diagnosis result.

[付記15]
前記実装標準情報、および、前記処理パターン情報を生成する実装標準情報化処理と、前記プログラム構造情報を生成するプログラム構造解析処理と、前記処理パターン検索結果情報を生成する処理パターン検索処理と、前記診断結果を生成する実装標準診断処理と、
を含むことを特徴とする付記14のプログラム。
[Appendix 15]
The mounting standard information, the mounting standard information processing for generating the processing pattern information, the program structure analysis processing for generating the program structure information, the processing pattern search processing for generating the processing pattern search result information, Implementation standard diagnostic processing to generate diagnostic results,
The program according to appendix 14, characterized by including:

[付記16]
前記処理パターン情報は、一意に識別するための識別情報である処理パターンIDを含み、
前記実装標準情報は、一意に識別するための識別情報である実装標準ID、および、前記処理パターン情報内の対応する前記処理パターンIDを含むことを特徴とする付記15のプログラム。
[Appendix 16]
The processing pattern information includes a processing pattern ID which is identification information for uniquely identifying,
The program according to appendix 15, wherein the mounting standard information includes a mounting standard ID that is identification information for uniquely identifying and the corresponding processing pattern ID in the processing pattern information.

[付記17]
前記処理パターン情報は、構造単位リストを含み、
前記構造単位リストは、内包構造単位リストを含むことを特徴とする付記16のプログラム。
[Appendix 17]
The processing pattern information includes a structural unit list,
The program according to appendix 16, wherein the structural unit list includes an inclusion structural unit list.

[付記18]
前記実装標準診断処理は、前記ソースプログラムのファイル名、前記実装標準ID、実装標準の実装率、処理パターンの名称、または、前記ソースプログラムの内容を出力する処理をコンピュータに実行させることを特徴とする付記15、16、または、17のプログラム。
[Appendix 18]
The mounting standard diagnosis process causes the computer to execute a process of outputting the file name of the source program, the mounting standard ID, the mounting rate of the mounting standard, the name of the processing pattern, or the contents of the source program. Supplementary note 15, 16, or 17 program.

100 処理部
110 実装標準情報化部
120 プログラム構造解析部
130 処理パターン検索部
140 実装標準診断部
200 情報格納部
210 実装標準DB
220 処理パターンDB
230 プログラム構造情報DB
240 処理パターン検索結果DB
600 結果出力部
700 補助記憶装置
710 ソースプログラム
800 診断システム
900 コンピュータ
T211 実装標準ID
T212 実装標準名
T213 処理パターン数
T214 処理パターンリスト
T221 処理パターンID
T222 処理パターン名
T223 構造単位数
T224 構造単位リスト
U2241 構造ID
U2242 構造タイプ
U2243 内包構造数
U2244 内包構造リスト
T231 構造ID
T232 構造タイプ
T233 ファイル名
T234 開始行番号
T235 終了行番号
T236 内包構造数
T237 内包構造リスト
T241 検索結果ID
T242 検出処理パターンID
T243 ファイル名
T244 開始行番号
T245 終了行番号
010 実装標準用ユーザインタフェース
011 実装標準名入力用テキストフィールド
012 実装標準作成用ボタン
020 処理パターン入力用ユーザインタフェース
021 パターン名入力テキストフィールド
022 処理構文入力テキストフィールド
023 パターン名入力テキストフィールド
024 処理構文入力テキストフィールド
025 パターン名入力テキストフィールド
026 処理構文入力テキストフィールド
027 パターン名入力テキストフィールド
028 処理構文入力テキストフィールド
029 パターン名入力テキストフィールド
02A 処理構文入力テキストフィールド
02B パターン処理入力決定用ボタン
030 診断結果表示用ユーザインタフェース
031 ソース表示用領域
DESCRIPTION OF SYMBOLS 100 Processing part 110 Mounting standard information-izing part 120 Program structure analysis part 130 Processing pattern search part 140 Mounting standard diagnostic part 200 Information storage part 210 Mounting standard DB
220 Processing pattern DB
230 Program structure information DB
240 processing pattern search result DB
600 Result output unit 700 Auxiliary storage device 710 Source program 800 Diagnostic system 900 Computer T211 Implementation standard ID
T212 Implementation standard name T213 Number of processing patterns T214 Processing pattern list T221 Processing pattern ID
T222 Processing pattern name T223 Number of structural units T224 Structural unit list U2241 Structure ID
U2242 structure type U2243 number of included structures U2244 included structure list T231 structure ID
T232 Structure type T233 File name T234 Start line number T235 End line number T236 Number of inclusion structures T237 Inclusion structure list T241 Search result ID
T242 Detection processing pattern ID
T243 File name T244 Start line number T245 End line number 010 Implementation standard user interface 011 Implementation standard name input text field 012 Implementation standard creation button 020 Processing pattern input user interface 021 Pattern name input text field 022 Processing syntax input text field 023 Pattern name input text field 024 Processing syntax input text field 025 Pattern name input text field 026 Processing syntax input text field 027 Pattern name input text field 028 Processing syntax input text field 029 Pattern name input text field 02A Processing syntax input text field 02B Pattern Process input decision button 030 User interface for displaying diagnosis results 031 Source display area

Claims (10)

プログラムの実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する処理部と、
前記実装標準情報、前記処理パターン情報、前記プログラム構造情報、および、前記処理パターン検索結果情報を格納する情報格納部と、
を含むことを特徴とする診断システム。
Receiving information related to program implementation, generating implementation standard information, generating process pattern information from process patterns constituting the implementation standard, receiving a source program, analyzing lexical and syntax, and generating program structure information; A processing unit that searches for a program syntax string that matches the processing pattern information from the structure information, and generates processing pattern search result information;
An information storage unit for storing the mounting standard information, the processing pattern information, the program structure information, and the processing pattern search result information;
A diagnostic system comprising:
前記処理部は、前記処理パターン検索結果情報から前記ソースプログラムが前記実装標準情報に従っている程度を判断し診断結果を生成し出力することを特徴する請求項1の診断システム。   The diagnosis system according to claim 1, wherein the processing unit determines a degree to which the source program conforms to the mounting standard information from the processing pattern search result information, and generates and outputs a diagnosis result. 前記処理部は、前記実装標準情報、および、前記処理パターン情報を生成する実装標準情報化部と、前記プログラム構造情報を生成するプログラム構造解析部と、前記処理パターン検索結果情報を生成する処理パターン検索部と、前記診断結果を生成する実装標準診断部と、
を含むことを特徴とする請求項2の診断システム。
The processing unit includes the mounting standard information and a mounting standard information generating unit that generates the processing pattern information, a program structure analyzing unit that generates the program structure information, and a processing pattern that generates the processing pattern search result information. A search unit, an implementation standard diagnostic unit for generating the diagnostic result,
The diagnostic system according to claim 2, comprising:
前記処理パターン情報は、一意に識別するための識別情報である処理パターンIDを含み、
前記実装標準情報は、一意に識別するための識別情報である実装標準ID、および、前記処理パターン情報内の対応する前記処理パターンIDを含むことを特徴とする請求項3の診断システム。
The processing pattern information includes a processing pattern ID which is identification information for uniquely identifying,
4. The diagnosis system according to claim 3, wherein the mounting standard information includes a mounting standard ID that is identification information for uniquely identifying and the corresponding processing pattern ID in the processing pattern information.
前記処理パターン情報は、構造単位リストを含み、
前記構造単位リストは、内包構造単位リストを含むことを特徴とする請求項4の診断システム。
The processing pattern information includes a structural unit list,
5. The diagnosis system according to claim 4, wherein the structural unit list includes an inclusion structural unit list.
前記実装標準診断部は、前記ソースプログラムのファイル名、前記実装標準ID、実装標準の実装率、処理パターンの名称、または、前記ソースプログラムの内容を出力することを特徴とする請求項3、4、または、5の診断システム。   5. The mounting standard diagnostic unit outputs a file name of the source program, the mounting standard ID, a mounting standard mounting rate, a processing pattern name, or the contents of the source program. Or 5 diagnostic systems. プログラムの実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成することを特徴とする診断方法。   Receiving information related to program implementation, generating implementation standard information, generating process pattern information from process patterns constituting the implementation standard, receiving a source program, analyzing lexical and syntax, and generating program structure information; A diagnostic method for searching for a program syntax string that matches the processing pattern information from structure information and generating processing pattern search result information. 前記処理パターン検索結果情報から前記ソースプログラムが前記実装標準情報に従っている程度を判断し診断結果を生成し出力することを特徴する請求項7の診断方法。   8. The diagnosis method according to claim 7, wherein a diagnosis result is generated and output from the processing pattern search result information by determining a degree to which the source program complies with the mounting standard information. 実装に関する情報を受け取り、実装標準情報を生成し、実装標準を構成する処理パターンから処理パターン情報を生成し、ソースプログラムを受け取り、字句、構文を解析しプログラム構造情報を生成し、前記プログラム構造情報から前記処理パターン情報に適合するプログラム構文列を検索し、処理パターン検索結果情報を生成する処理をコンピュータに実行させることを特徴とするプログラム。   Receives information related to the implementation, generates implementation standard information, generates process pattern information from the process patterns constituting the implementation standard, receives a source program, analyzes lexical and syntax, generates program structure information, and program structure information A program syntax string that matches the processing pattern information, and causes the computer to execute processing for generating processing pattern search result information. 前記処理パターン検索結果情報から前記ソースプログラムが前記実装標準情報に従っている程度を判断し診断結果を生成し出力する処理をコンピュータに実行させることを特徴する請求項9のプログラム。   10. The program according to claim 9, further comprising: causing a computer to execute a process of determining a degree to which the source program complies with the mounting standard information from the processing pattern search result information, and generating and outputting a diagnosis result.
JP2014000797A 2014-01-07 2014-01-07 Diagnostic system, diagnostic method, and program Active JP6023100B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014000797A JP6023100B2 (en) 2014-01-07 2014-01-07 Diagnostic system, diagnostic method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014000797A JP6023100B2 (en) 2014-01-07 2014-01-07 Diagnostic system, diagnostic method, and program

Publications (2)

Publication Number Publication Date
JP2015130026A true JP2015130026A (en) 2015-07-16
JP6023100B2 JP6023100B2 (en) 2016-11-09

Family

ID=53760714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014000797A Active JP6023100B2 (en) 2014-01-07 2014-01-07 Diagnostic system, diagnostic method, and program

Country Status (1)

Country Link
JP (1) JP6023100B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03257637A (en) * 1990-03-08 1991-11-18 Nec Corp Automatic check item extracting mechanism
JPH0628165A (en) * 1992-07-07 1994-02-04 Toray Syst Center:Kk Automatic code diagnostic device based upon coding rule
JP2004145381A (en) * 2002-10-21 2004-05-20 Hitachi Ltd Static analysis system for source program
JP2006018735A (en) * 2004-07-05 2006-01-19 Hitachi Software Eng Co Ltd Coding standard observance situation monitoring system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03257637A (en) * 1990-03-08 1991-11-18 Nec Corp Automatic check item extracting mechanism
JPH0628165A (en) * 1992-07-07 1994-02-04 Toray Syst Center:Kk Automatic code diagnostic device based upon coding rule
JP2004145381A (en) * 2002-10-21 2004-05-20 Hitachi Ltd Static analysis system for source program
JP2006018735A (en) * 2004-07-05 2006-01-19 Hitachi Software Eng Co Ltd Coding standard observance situation monitoring system

Also Published As

Publication number Publication date
JP6023100B2 (en) 2016-11-09

Similar Documents

Publication Publication Date Title
US10809984B2 (en) System for generating functionality representation, indexing, searching, componentizing, and analyzing of source code in codebases and method thereof
EP3430529B1 (en) Intelligent metadata management and data lineage tracing
Scanniello et al. Clustering support for static concept location in source code
US10152488B2 (en) Static-analysis-assisted dynamic application crawling architecture
EP4202644A1 (en) Automated dependency analyzer for heterogeneously programmed data processing system
US11847040B2 (en) Systems and methods for detecting data alteration from source to target
CN108027721B (en) Techniques for configuring a general program using controls
CN101739335A (en) Recommended application evaluation system
Dagenais et al. Using traceability links to recommend adaptive changes for documentation evolution
US7376937B1 (en) Method and mechanism for using a meta-language to define and analyze traces
Stroulia et al. User interface reverse engineering in support of interface migration to the web
Diefenbach et al. The Qanary Ecosystem: getting new insights by composing Question Answering pipelines
US9721040B2 (en) Mechanism to input, search and create complex data strings within a single dialog
Kelley et al. A framework for creating knowledge graphs of scientific software metadata
Radu et al. A dataset of non-functional bugs
JP2007011604A (en) Fault diagnostic system and program
Kanemitsu et al. A visualization method of program dependency graph for identifying extract method opportunity
González López de Murillas et al. Everything you always wanted to know about your process, but did not know how to ask
Ben Charrada et al. Supporting requirements update during software evolution
JP5576570B2 (en) Method, program and system for generating a workflow from business specifications
JP2013080465A (en) Associative memory technology in intelligence analysis and course-of-action development
JP6023100B2 (en) Diagnostic system, diagnostic method, and program
Haghighatkhah Test case prioritization using build history and test distances: an approach for improving automotive regression testing in continuous integration environments
Ratanotayanon et al. My repository runneth over: an empirical study on diversifying data sources to improve feature search
JP2008117280A (en) Software source code-retrieval method and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161006

R150 Certificate of patent or registration of utility model

Ref document number: 6023100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150