Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6840966B2 - Reference information output program, reference information output method, and reference information output device - Google Patents
[go: Go Back, main page]

JP6840966B2 - Reference information output program, reference information output method, and reference information output device - Google Patents

Reference information output program, reference information output method, and reference information output device Download PDF

Info

Publication number
JP6840966B2
JP6840966B2 JP2016180869A JP2016180869A JP6840966B2 JP 6840966 B2 JP6840966 B2 JP 6840966B2 JP 2016180869 A JP2016180869 A JP 2016180869A JP 2016180869 A JP2016180869 A JP 2016180869A JP 6840966 B2 JP6840966 B2 JP 6840966B2
Authority
JP
Japan
Prior art keywords
exclusion
check
application
reference information
program
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.)
Expired - Fee Related
Application number
JP2016180869A
Other languages
Japanese (ja)
Other versions
JP2018045525A (en
Inventor
清楓 島田
清楓 島田
大輔 檜山
大輔 檜山
秀弥 池田
秀弥 池田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016180869A priority Critical patent/JP6840966B2/en
Priority to US15/651,890 priority patent/US10318258B2/en
Publication of JP2018045525A publication Critical patent/JP2018045525A/en
Application granted granted Critical
Publication of JP6840966B2 publication Critical patent/JP6840966B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

本件は、参考情報出力プログラム、参考情報出力方法、及び参考情報出力装置に関する。 This case, the reference information output program, FYI information output method, and a reference information output device.

ソースコードに対する静的解析が知られている(例えば特許文献1参照)。静的解析によりソースコードに潜在するバグやコーディング規約違反といった品質に関する種々の問題が発見される。 Static analysis of source code is known (see, for example, Patent Document 1). Static analysis reveals various quality problems such as potential bugs in source code and violations of coding standards.

特開2013−134521号公報Japanese Unexamined Patent Publication No. 2013-134521

ところで、上述した種々の問題は静的解析のチェック結果としてソースコードの開発者にフィードバックされる。チェック結果の中には有益な指摘だけでなく、無駄な指摘が含まれている場合がある。無駄な指摘としては、例えば開発者にとって重要でない指摘やプロジェクトの都合による修正不要な指摘などがある。 By the way, the various problems mentioned above are fed back to the source code developer as the check result of static analysis. The check results may contain not only useful points but also useless points. Useless points include, for example, points that are not important to the developer and points that do not need to be modified due to project circumstances.

無駄な指摘に対しては、開発者は次回のチェック結果から除外させる除外申請を行うことができる。しかしながら、開発者はチェック結果を個別に確認して除外申請の要否を決定しなければならず、手間がかかるという問題がある。 For useless indications, the developer can apply for exclusion from the next check result. However, there is a problem that the developer has to check the check result individually and decide whether or not the exclusion application is necessary, which is troublesome.

そこで、1つの側面では、除外申請に関して参考になる情報を出力できる参考情報出力プログラム、参考情報出力方法、及び参考情報出力装置を提供することを目的とする。 Accordingly, in one aspect, an object of the invention to provide reference information output program that can output the information that can help with respect to exclusion applicant, FYI information output method, and the reference information output device.

1つの実施態様では、参考情報出力プログラムは、複数の階層により階層化されたプログラムに対する静的解析の解析結果を取得し、取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、処理をコンピュータに実行させることを特徴とする参考情報出力プログラムである。 In one embodiment, the reference information output program acquires the analysis result of the static analysis for the program layered by a plurality of layers, and the specific check contents included in the acquired analysis result correspond to the program. When displaying in association with the part to be checked, the storage unit in which the information of the exclusion application of the past check contents is stored is referred to, the exclusion application of the same type of check contents as the specific check contents is specified, and the same type of check contents is specified. According to the application result of the exclusion application of the check contents of the above, and the difference between the position of the specific check contents in the plurality of layers in the program and the position of the check contents of the same type in the plurality of layers. It is a reference information output program characterized by having a computer execute a process that outputs reference information regarding an exclusion application for a specific check content.

1つの実施態様では、参考情報出力方法は、複数の階層により階層化されたプログラムに対する静的解析の解析結果を取得し、取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、処理をコンピュータが実行することを特徴とする参考情報出力方法である。 In one embodiment, the reference information output method acquires the analysis result of the static analysis for the program layered by a plurality of layers, and the specific check contents included in the acquired analysis result correspond to the program. When displaying in association with the part to be checked, the storage unit in which the information of the exclusion application of the past check contents is stored is referred to, the exclusion application of the same type of check contents as the specific check contents is specified, and the same type of check contents is specified. According to the application result of the exclusion application of the check contents and the difference between the position of the specific check contents in the plurality of layers and the position of the check contents of the same type in the plurality of layers in the program. This is a reference information output method characterized in that a computer executes a process that outputs reference information regarding an exclusion application for a specific check content.

1つの実施態様では、参考情報出力装置は、複数の階層により階層化されたプログラムに対する静的解析の解析結果を取得し、取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、処理を実行する処理部を有する参考情報出力装置である。 In one embodiment, the reference information output device acquires the analysis result of the static analysis for the program layered by a plurality of layers, and the specific check contents included in the acquired analysis result correspond to the program. When displaying in association with the part to be checked, the storage unit in which the information of the exclusion application of the past check contents is stored is referred to, the exclusion application of the same type of check contents as the specific check contents is specified, and the same type of check contents is specified. According to the application result of the exclusion application of the check contents and the difference between the position of the specific check contents in the plurality of layers and the position of the check contents of the same type in the plurality of layers in the program. It is a reference information output device having a processing unit that executes processing, which outputs reference information regarding an exclusion application for a specific check content.

除外申請に関して参考になる情報を出力することができる。 It is possible to output reference information regarding the exclusion application.

図1は参考情報出力システムの一例を説明するための図である。FIG. 1 is a diagram for explaining an example of a reference information output system. 図2は第2サーバのハードウェア構成の一例である。FIG. 2 is an example of the hardware configuration of the second server. 図3は第1サーバの機能ブロック図の一例である。FIG. 3 is an example of a functional block diagram of the first server. 図4は第2サーバの機能ブロック図の一例である。FIG. 4 is an example of a functional block diagram of the second server. 図5はチェック結果テーブルの一例である。FIG. 5 is an example of the check result table. 図6は除外ルールテーブルの一例である。FIG. 6 is an example of the exclusion rule table. 図7は開発端末の機能ブロック図の一例である。FIG. 7 is an example of a functional block diagram of the development terminal. 図8は第1サーバの動作の一例を示すフローチャートである。FIG. 8 is a flowchart showing an example of the operation of the first server. 図9は第2サーバの動作の一例を示すフローチャートである。FIG. 9 is a flowchart showing an example of the operation of the second server. 図10は開発端末の動作の一例を示すフローチャートである。FIG. 10 is a flowchart showing an example of the operation of the development terminal. 図11はエディタ画面の一例である。FIG. 11 is an example of an editor screen. 図12は第2サーバの動作の一例を示すフローチャートである。FIG. 12 is a flowchart showing an example of the operation of the second server. 図13は履歴解析処理の一例を示すフローチャートである。FIG. 13 is a flowchart showing an example of the history analysis process. 図14は履歴解析処理を説明する図の一例である。FIG. 14 is an example of a diagram illustrating the history analysis process. 図15は履歴解析処理を説明する図の他の一例である。FIG. 15 is another example of the figure for explaining the history analysis process. 図16は開発端末の動作の一例を示すフローチャートである。FIG. 16 is a flowchart showing an example of the operation of the development terminal. 図17は除外申請画面の一例である。FIG. 17 is an example of the exclusion application screen. 図18は第2サーバの動作の一例を示すフローチャートである。FIG. 18 is a flowchart showing an example of the operation of the second server. 図19は管理者端末の動作の一例を示すフローチャートである。FIG. 19 is a flowchart showing an example of the operation of the administrator terminal. 図20は除外申請一覧画面の一例である。FIG. 20 is an example of the exclusion application list screen. 図21は除外申請確認画面の一例である。FIG. 21 is an example of the exclusion application confirmation screen.

以下、本件を実施するための形態について図面を参照して説明する。 Hereinafter, a mode for carrying out this case will be described with reference to the drawings.

図1は参考情報出力システムSの一例を説明するための図である。参考情報出力システムSは除外申請に関して参考になる参考情報を出力するコンピュータシステムである。参考情報出力システムSは複数台の開発端末100と第1サーバ200と参考情報出力装置としての第2サーバ300と管理者端末400を備えている。図1では、開発端末100及び管理者端末400の一例としてPersonal Computer(PC)が示されているが、タブレット端末といったスマートデバイスであってもよい。また、図1では、複数台の開発端末100が示されているが、開発端末100は1台であってもよい。さらに、複数台の開発端末100の一部は互いに異なる建物(例えば遠隔地の建物など)に配置されていてもよい。 FIG. 1 is a diagram for explaining an example of the reference information output system S. The reference information output system S is a computer system that outputs reference information that can be used as a reference for the exclusion application. The reference information output system S includes a plurality of development terminals 100, a first server 200, a second server 300 as a reference information output device, and an administrator terminal 400. Although the personal computer (PC) is shown as an example of the development terminal 100 and the administrator terminal 400 in FIG. 1, it may be a smart device such as a tablet terminal. Further, although a plurality of development terminals 100 are shown in FIG. 1, the number of development terminals 100 may be one. Further, a part of the plurality of development terminals 100 may be arranged in different buildings (for example, a building in a remote place).

開発端末100、第1サーバ200、第2サーバ300及び管理者端末400は通信ネットワークNWを介して互いに接続されている。通信ネットワークNWとしては例えばインターネットやLocal Area Network(LAN)などの有線ネットワークがある。通信ネットワークNWの一部に電波を利用した無線ネットワークが利用されていてもよい。 The development terminal 100, the first server 200, the second server 300, and the administrator terminal 400 are connected to each other via the communication network NW. The communication network NW includes, for example, a wired network such as the Internet or a Local Area Network (LAN). A wireless network using radio waves may be used as a part of the communication network NW.

開発端末100はソースコードを作成する開発者によって使用される。開発者がソースコードを作成又は修正し終えると、開発端末100は開発者からの指示に従ってソースコードを第1サーバ200に送信する。第1サーバ200はソースコードに対する静的解析を実行する。より詳しくは、第1サーバ200は開発端末100からソースコードが送信されると、ソースコードを受信して記憶する。受信後、第1サーバ200は定期的に又は非定期的に自身に搭載された種々の静的解析機能を利用してソースコードに対する静的解析を実行し、解析結果を表す電子ファイルをチェック結果として第2サーバ300へアップロードする。 The development terminal 100 is used by a developer who creates source code. When the developer finishes creating or modifying the source code, the development terminal 100 transmits the source code to the first server 200 according to the instruction from the developer. The first server 200 executes static analysis on the source code. More specifically, when the source code is transmitted from the development terminal 100, the first server 200 receives and stores the source code. After receiving, the first server 200 periodically or irregularly executes static analysis on the source code by using various static analysis functions installed in itself, and checks the electronic file representing the analysis result. To upload to the second server 300.

第2サーバ300は第1サーバ200からアップロードされたチェック結果を記憶する。また、第2サーバ300は除外申請に関して参考になる参考情報を開発端末100に出力する。より詳しくは、第2サーバ300は開発端末100からチェック結果のチェック内容(具体的には指摘メッセージ)の提供が要求されると、チェック結果と過去のチェック結果に対してなされた除外申請に対する対応を利用して参考情報を特定し、チェック内容と特定した参考情報を組にして開発端末100に出力する。開発者は開発端末100に出力されたチェック内容と参考情報を確認して、そのチェック内容に対して除外申請を管理者に要求するか否か判断する。特に、参考情報は除外申請推奨と修正推奨を含んでいる。除外申請推奨は、特定のチェック結果の除外申請を推奨する情報である。修正推奨は除外申請を行わずに特定のチェック結果と対応付けられたソースコードの対応する箇所の修正を推奨する情報である。 The second server 300 stores the check result uploaded from the first server 200. In addition, the second server 300 outputs reference information that can be used as a reference for the exclusion application to the development terminal 100. More specifically, when the development terminal 100 requests the development terminal 100 to provide the check contents (specifically, the indication message), the second server 300 responds to the exclusion application made to the check result and the past check result. The reference information is specified by using the above, and the check contents and the specified reference information are combined and output to the development terminal 100. The developer confirms the check contents and reference information output to the development terminal 100, and determines whether or not to request the administrator to exclude the check contents. In particular, the reference information includes exclusion application recommendations and amendment recommendations. Exclusion application recommendations are information that recommends exclusion applications for specific check results. Correction recommendation is information that recommends correction of the corresponding part of the source code associated with a specific check result without making an exclusion application.

したがって、開発者は開発端末100に除外申請推奨が出力されれば、無駄な指摘であることから、除外申請を管理者に要求すると除外申請が承認される可能性が高いと判断し、除外申請を行うようになる。逆に、開発者は開発端末100に修正推奨が出力されれば、有益な指摘であることから除外申請を管理者に要求しても除外申請が差し戻される可能性が高いと判断し、除外申請を行わずに、対応箇所の修正を行うようになる。これにより、開発の早い段階でソースコードの品質を向上させることができる。 Therefore, if the exclusion application recommendation is output to the development terminal 100, the developer judges that it is highly likely that the exclusion application will be approved if the exclusion application is requested from the administrator because it is a useless indication. Will be done. On the contrary, if the correction recommendation is output to the development terminal 100, the developer judges that it is highly likely that the exclusion application will be returned even if the exclusion application is requested from the administrator because it is a useful indication, and the exclusion application is excluded. You will be able to correct the corresponding parts without making an application. This makes it possible to improve the quality of the source code at an early stage of development.

開発端末100で除外申請が行われると、開発端末100は除外申請の申請内容を第2サーバ300に送信する。第2サーバ300は除外申請の申請内容を受信すると、受信した申請内容を仮登録という登録形式で記憶する。ソースコードの品質を管理する管理者は管理者端末400を操作して仮登録の申請内容を管理者端末400に表示させ、その申請内容を承認して受領するか、又は、承認せずに差し戻すか判断する。 When the exclusion application is made on the development terminal 100, the development terminal 100 transmits the application content of the exclusion application to the second server 300. When the second server 300 receives the application content of the exclusion application, the second server 300 stores the received application content in a registration format called temporary registration. The administrator who manages the quality of the source code operates the administrator terminal 400 to display the application contents of the temporary registration on the administrator terminal 400, and approves and receives the application contents, or inserts without approval. Decide whether to return.

管理者が申請内容を承認する操作を管理者端末400に行うと、管理者端末400は第2サーバ300に承認を表す情報を送信する。そして、第2サーバ300は承認を表す情報を受信すると、仮登録の申請内容を本登録の申請内容に更新する。具体的には、第2サーバ300は登録内容を仮登録から受領に書き換える。逆に、管理者が申請内容を差し戻す操作を管理者端末400に行うと、管理者端末400は第2サーバ300に差戻しを表す情報を送信する。そして、第2サーバ300は差戻しを表す情報を受信すると、同様に、仮登録の申請内容を本登録の申請内容に更新する。具体的には、第2サーバ300は登録内容を仮登録から差戻しに書き換える。これにより、第2サーバ300には、除外申請に対する対応として受領又は差戻しを含むチェック結果が履歴として蓄積される。そして、この履歴が過去のチェック結果として次回の除外申請の際に利用されるため、利用回数が増加するに従って、精度の高い参考情報が出力される。 When the administrator performs an operation of approving the application contents to the administrator terminal 400, the administrator terminal 400 transmits information indicating approval to the second server 300. Then, when the second server 300 receives the information indicating approval, the application content of the provisional registration is updated to the application content of the main registration. Specifically, the second server 300 rewrites the registered contents from temporary registration to receipt. On the contrary, when the administrator performs an operation of returning the application contents to the administrator terminal 400, the administrator terminal 400 transmits information indicating the remand to the second server 300. Then, when the second server 300 receives the information indicating the remand, the second server 300 similarly updates the application content of the provisional registration to the application content of the main registration. Specifically, the second server 300 rewrites the registered contents from temporary registration to remand. As a result, the check result including receipt or remand is accumulated as a history in the second server 300 as a response to the exclusion application. Then, since this history is used as a past check result in the next exclusion application, highly accurate reference information is output as the number of times of use increases.

以下、上述した開発端末100、第1サーバ200、第2サーバ300、及び管理者端末400の詳細について図面を参照して説明する。 Hereinafter, the details of the development terminal 100, the first server 200, the second server 300, and the administrator terminal 400 described above will be described with reference to the drawings.

図2は第2サーバ300のハードウェア構成の一例である。尚、開発端末100,第1サーバ200、及び管理者端末400については基本的に第2サーバ300と同様の構成であるため、説明を省略する。 FIG. 2 is an example of the hardware configuration of the second server 300. Since the development terminal 100, the first server 200, and the administrator terminal 400 basically have the same configuration as the second server 300, the description thereof will be omitted.

第2サーバ300は、少なくともCentral Processing Unit(CPU)300A、Random Access Memory(RAM)300B、Read Only Memory(ROM)300C、及びネットワークI/F(インタフェース)300Dを含んでいる。第2サーバ300は、必要に応じて、Hard Disk Drive(HDD)300E、入力I/F300F、出力I/F300G、入出力I/F300H、ドライブ装置300Iの少なくとも1つを含んでいてもよい。CPU300Aからドライブ装置300Iまでは、内部バス300Jによって互いに接続されている。少なくともCPU300AとRAM300Bとが協働することによってコンピュータが実現される。 The second server 300 includes at least a Central Processing Unit (CPU) 300A, a Random Access Memory (RAM) 300B, a Read Only Memory (ROM) 300C, and a network I / F (interface) 300D. The second server 300 may include at least one of a Hard Disk Drive (HDD) 300E, an input I / F 300F, an output I / F 300G, an input / output I / F 300H, and a drive device 300I, if necessary. The CPU 300A to the drive device 300I are connected to each other by the internal bus 300J. A computer is realized by at least the CPU 300A and the RAM 300B collaborating with each other.

入力I/F300Fには、入力装置710が接続される。入力装置710としては、例えばキーボードやマウスなどがある。
出力I/F300Gには、表示装置720が接続される。表示装置720としては、例えば液晶ディスプレイがある。
入出力I/F300Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F300Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。
入力I/F300F及び入出力I/F300Hは、例えばUSBポートを備えている。出力I/F300Gは、例えばディスプレイポートを備えている。
An input device 710 is connected to the input I / F 300F. The input device 710 includes, for example, a keyboard and a mouse.
A display device 720 is connected to the output I / F 300G. The display device 720 includes, for example, a liquid crystal display.
A semiconductor memory 730 is connected to the input / output I / F 300H. Examples of the semiconductor memory 730 include a Universal Serial Bus (USB) memory and a flash memory. The input / output I / F 300H reads programs and data stored in the semiconductor memory 730.
The input I / F 300F and the input / output I / F 300H include, for example, a USB port. The output I / F 300G includes, for example, a display port.

ドライブ装置300Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)−ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置300Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。
ネットワークI/F300Dは、例えばポートとPhysical Layer Chip(PHYチップ)とを備えている。第2サーバ300は、ネットワークI/F300Dを介して通信ネットワークNWと接続される。
A portable recording medium 740 is inserted into the drive device 300I. Examples of the portable recording medium 740 include removable discs such as Compact Disc (CD) -ROM and Digital Versatile Disc (DVD). The drive device 300I reads programs and data recorded on the portable recording medium 740.
The network I / F 300D includes, for example, a port and a Physical Layer Chip (PHY chip). The second server 300 is connected to the communication network NW via the network I / F 300D.

上述したRAM300Bには、ROM300CやHDD300Eに記憶されたプログラムがCPU300Aによって格納される。RAM300Bには、可搬型記録媒体740に記録されたプログラムがCPU300Aによって格納される。格納されたプログラムをCPU300Aが実行することにより、第2サーバ300は後述する各種の機能を実現し、また、後述する各種の処理を実行する。尚、プログラムは後述するフローチャートに応じたものとすればよい。 In the RAM 300B described above, the program stored in the ROM 300C or the HDD 300E is stored by the CPU 300A. The program recorded on the portable recording medium 740 is stored in the RAM 300B by the CPU 300A. When the CPU 300A executes the stored program, the second server 300 realizes various functions described later, and also executes various processes described later. The program may be adapted to the flowchart described later.

続いて、図3を参照して、第1サーバ200の機能について説明する。 Subsequently, the function of the first server 200 will be described with reference to FIG.

図3は第1サーバ200の機能ブロック図の一例である。第1サーバ200は、図3に示すように、Git210、継続的インテグレーション部220、第1情報処理部230を含んでいる。特に、継続的インテグレーション部220は静的解析部221を含み、静的解析部221は第1静的解析部221A及び第2静的解析部221Bを含んでいる。一方、第1情報処理部230は第3静的解析部231を含んでいる。 FIG. 3 is an example of a functional block diagram of the first server 200. As shown in FIG. 3, the first server 200 includes a Git 210, a continuous integration unit 220, and a first information processing unit 230. In particular, the continuous integration unit 220 includes a static analysis unit 221 and the static analysis unit 221 includes a first static analysis unit 221A and a second static analysis unit 221B. On the other hand, the first information processing unit 230 includes the third static analysis unit 231.

Git210はバージョン管理システム又はリポジトリの一種である。したがって、開発端末100からソースコードSCが送信されると、Git210はソースコードSCを記憶する。
継続的インテグレーション部220はソースコードインスペクションといったソースコード作成時の品質改善やソースコードの納期短縮に関する機能を提供する。継続的インテグレーション部220としては、例えばJenkinsやHudson(登録商標)などがある。継続的インテグレーション部220はGit210からソースコードSCを定期的に又は非定期的に取得し、取得したソースコードSCを静的解析部221に格納する。例えば継続的インテグレーション部220はGit210にソースコードSCが記憶された時点でソースコードSCを取得したり、特定の設定時刻にソースコードSCを取得したりする。
Git210 is a type of version control system or repository. Therefore, when the source code SC is transmitted from the development terminal 100, the Git 210 stores the source code SC.
The continuous integration unit 220 provides functions such as source code inspection for improving quality at the time of source code creation and shortening the delivery time of the source code. Examples of the continuous integration unit 220 include Jenkins and Hudson (registered trademark). The continuous integration unit 220 acquires the source code SC from the Git 210 periodically or irregularly, and stores the acquired source code SC in the static analysis unit 221. For example, the continuous integration unit 220 acquires the source code SC when the source code SC is stored in the Git 210, or acquires the source code SC at a specific set time.

第1静的解析部221A及び第2静的解析部221BはソースコードSCに対してそれぞれ異なる静的解析を実行する。例えば、第1静的解析部221Aは静的解析を実行することによりコーディング規約違反を発見し、第2静的解析部221Bは静的解析を実行することによりバグなどの欠陥を発見する。尚、第1静的解析部221Aとしては例えばCheckStyle(登録商標)がある。第2静的解析部221Bとしては例えばFindBugs(登録商標)がある。第1静的解析部221A及び第2静的解析部221Bは静的解析の解析結果を表すExtensible Markup Language(XML)形式の電子ファイルF1,F2をチェック結果として第2サーバ300に出力する。 The first static analysis unit 221A and the second static analysis unit 221B execute different static analysis on the source code SC. For example, the first static analysis unit 221A discovers a coding standard violation by executing static analysis, and the second static analysis unit 221B discovers a defect such as a bug by executing static analysis. The first static analysis unit 221A includes, for example, CheckStyle (registered trademark). The second static analysis unit 221B includes, for example, FindBugs (registered trademark). The first static analysis unit 221A and the second static analysis unit 221B output the Extensible Markup Language (XML) format electronic files F1 and F2 representing the analysis results of the static analysis to the second server 300 as check results.

一方、第1情報処理部230は静的解析部221に格納されたソースコードSCを複製して取得する。第3静的解析部231はソースコードSCに対して上述した第1静的解析部221A及び第2静的解析部221Bと異なる静的解析を実行する。第3静的解析部231は静的解析の解析結果を表すComma-Separated Values(CSV)形式の電子ファイルF3をチェック結果として第2サーバ300に出力する。 On the other hand, the first information processing unit 230 duplicates and acquires the source code SC stored in the static analysis unit 221. The third static analysis unit 231 executes a static analysis different from the above-mentioned first static analysis unit 221A and second static analysis unit 221B on the source code SC. The third static analysis unit 231 outputs a Comma-Separated Values (CSV) format electronic file F3 representing the analysis result of the static analysis to the second server 300 as a check result.

続いて、図4から図7までを参照して、開発端末100及び第2サーバ300の機能について説明する。 Subsequently, the functions of the development terminal 100 and the second server 300 will be described with reference to FIGS. 4 to 7.

図4は第2サーバ300の機能ブロック図の一例である。図5はチェック結果テーブルT1の一例である。図6は除外ルールテーブルT2の一例である。図7は開発端末100の機能ブロック図の一例である。 FIG. 4 is an example of a functional block diagram of the second server 300. FIG. 5 is an example of the check result table T1. FIG. 6 is an example of the exclusion rule table T2. FIG. 7 is an example of a functional block diagram of the development terminal 100.

まず、図4に示すように、第2サーバ300は、第2情報処理部310、チェック結果テーブルT1、及び除外ルールテーブルT2を含んでいる。特に、第2情報処理部310は、チェック結果登録部311、チェック結果検索部312、チェック結果除外部313、除外ルール履歴解析部314、除外申請仮登録部315、及び除外申請登録部316を含んでいる。 First, as shown in FIG. 4, the second server 300 includes a second information processing unit 310, a check result table T1, and an exclusion rule table T2. In particular, the second information processing unit 310 includes a check result registration unit 311, a check result search unit 312, a check result exclusion unit 313, an exclusion rule history analysis unit 314, an exclusion application provisional registration unit 315, and an exclusion application registration unit 316. I'm out.

チェック結果登録部311は第1サーバ200から送信されたチェック結果をチェック結果テーブルT1に格納する。上述したように、チェック結果は異なる形式の電子ファイルF1,F2,F3であるため、チェック結果登録部311は、まず電子ファイルF1,F2,F3をとりまとめ、電子ファイルF1,F2,F3の形式を整えてからチェック結果テーブルT1に格納する。これにより、チェック結果テーブルT1はソースコードSCに対して実行された静的解析のチェック結果を記憶する。 The check result registration unit 311 stores the check result transmitted from the first server 200 in the check result table T1. As described above, since the check results are electronic files F1, F2, F3 in different formats, the check result registration unit 311 first collects the electronic files F1, F2, F3, and formats the electronic files F1, F2, F3. After preparing, it is stored in the check result table T1. As a result, the check result table T1 stores the check result of the static analysis executed for the source code SC.

図5を参照して具体的に説明すると、チェック結果テーブルT1はチェック結果に関する種々の項目を構成要素として含んでいる。各項目について説明すると、実行時間は静的解析が実行された時刻を表している。プロジェクト名はソースコードSCが使用されるプロジェクトの名称を表している。プロジェクト名はApplication Programming Interface(API)を利用して画面上又は画面内から取得される。ソースパスはソースコードSCのパスを表している。パッケージ、クラス、メソッドはJava(登録商標)の構造を表している。これらの構造に加えてインタフェースやメンバーを加えてもよい。行はソースコードSCの行番号を表している。ツール名は静的解析ツールの略称を表している。例えばツール名「FB」は上述したFindBugs(登録商標)を表している。ルールIDは静的解析ツールのチェック項目を一意に示す識別情報を表している。メッセージは静的解析による指摘を表している。例えば、静的解析によりソースコードSCの不具合や欠陥が発見されると、メッセージ「修正してください」などが格納される。案件名は例えばプロジェクトの対象となる企業の名称を表している。ステータスは推奨ステータスを表しており、後述する推奨ステータスを更新する処理により、除外申請推奨(図5において除外推奨と表記)又は修正推奨のいずれかが推奨ステータスとして格納される。したがって、推奨ステータスを更新する処理がなされる前であれば、ステータスには除外推奨及び修正推奨は格納されず、nullが格納される。言い換えれば、チェック結果格納直後のチェック結果テーブルT1は推奨ステータス以外の構成要素を含んでいる。 More specifically with reference to FIG. 5, the check result table T1 includes various items related to the check result as constituent elements. Explaining each item, the execution time represents the time when the static analysis was executed. The project name represents the name of the project in which the source code SC is used. The project name is obtained on or from the screen using the Application Programming Interface (API). The source path represents the path of the source code SC. Packages, classes, and methods represent the structure of Java®. Interfaces and members may be added in addition to these structures. The line represents the line number of the source code SC. The tool name is an abbreviation for a static analysis tool. For example, the tool name "FB" represents the above-mentioned FindBugs (registered trademark). The rule ID represents identification information that uniquely indicates the check item of the static analysis tool. The message represents a static analysis point. For example, if a defect or defect in the source code SC is found by static analysis, a message such as "Please correct" is stored. The project name represents, for example, the name of the company that is the target of the project. The status represents the recommended status, and either the exclusion application recommendation (denoted as exclusion recommendation in FIG. 5) or the correction recommendation is stored as the recommended status by the process of updating the recommended status described later. Therefore, before the process of updating the recommended status is performed, the exclusion recommendation and the modification recommendation are not stored in the status, and null is stored. In other words, the check result table T1 immediately after storing the check result contains components other than the recommended status.

図4に戻り、除外ルールテーブルT2は過去の除外申請の申請内容とその申請内容に対する対応を表す除外ルールを記憶する。具体的には図6に示すように、除外ルールテーブルT2は除外ルールに関する種々の項目を構成要素として含んでいる。以下、除外ルールの構成要素について説明するが、上述したチェック結果と同一の構成要素についてはその説明を省略する。まず、申請日、申請者、チーム、及び申請理由はそれぞれ除外申請の申請日、申請者、申請者が所属するチームの名称、及び除外申請を行う理由を表している。ステータスは除外申請に対する対応状況を表している。例えば、申請者が除外申請を行うと、まず、申請内容などが仮登録という形式で除外ルールに格納される。そして、管理者が除外申請を承認すると、除外ルールにおけるステータスが仮登録から受領に書き換えられる。逆に、管理者が除外申請を差し戻すと、除外ルールにおけるステータスが仮登録から差戻しに書き換えられる。コメントは管理者が承認又は差戻しを行った理由を表している。対応者及び対応日はそれぞれ除外申請の対応を行った者と対応した日を表している。尚、除外ルールテーブルT2にソースコードSCの行番号を含めてもよい。このように、除外ルールテーブルT2により除外申請に対してなされた対応が履歴として管理され、パッケージ、クラス、メソッド、静的解析ツールなどに応じた、除外申請に対する過去の対応傾向が除外ルールテーブルT2に蓄積される。 Returning to FIG. 4, the exclusion rule table T2 stores the application contents of the past exclusion application and the exclusion rule indicating the correspondence to the application contents. Specifically, as shown in FIG. 6, the exclusion rule table T2 includes various items related to the exclusion rule as constituent elements. Hereinafter, the components of the exclusion rule will be described, but the description of the components having the same check results as described above will be omitted. First, the application date, the applicant, the team, and the reason for application represent the application date of the exclusion application, the name of the applicant, the team to which the applicant belongs, and the reason for making the exclusion application. The status shows the response status to the exclusion request. For example, when an applicant makes an exclusion application, the application contents are first stored in the exclusion rule in the form of temporary registration. Then, when the administrator approves the exclusion application, the status in the exclusion rule is rewritten from provisional registration to receipt. Conversely, when the administrator remands the exclusion request, the status in the exclusion rule is rewritten from temporary registration to remand. The comment shows the reason why the administrator approved or remanded. The responder and the response date represent the date of correspondence with the person who responded to the exclusion application, respectively. The line number of the source code SC may be included in the exclusion rule table T2. In this way, the response made to the exclusion request by the exclusion rule table T2 is managed as a history, and the past response tendency to the exclusion request according to the package, class, method, static analysis tool, etc. is the exclusion rule table T2. Accumulate in.

次に、図7に示すように、開発端末100は統合開発環境部110を含んでいる。統合開発環境部110は例えばEclipse(登録商標)やVisual Studio、WideStudioなどによって実現される。統合開発環境部110は第3情報処理部111を含み、特に、第3情報処理部111はプラグイン実行部111A、画面表示部111B、及び除外申請部111Cを含んでいる。 Next, as shown in FIG. 7, the development terminal 100 includes the integrated development environment unit 110. The integrated development environment unit 110 is realized by, for example, Eclipse (registered trademark), Visual Studio, WideStudio, or the like. The integrated development environment unit 110 includes a third information processing unit 111, and in particular, the third information processing unit 111 includes a plug-in execution unit 111A, a screen display unit 111B, and an exclusion application unit 111C.

プラグイン実行部111Aはエディタ画面10上に表示された特定の文字列に対し、特定の操作が行われたことを検出すると、プラグインを実行する。詳細は後述するが、例えばエディタ画面10上に表示された静的解析ツールを表す文字列に対し、その文字列を指示する特定の操作(例えば左クリックなど)が行われたことをプラグイン実行部111Aが検出すると、エディタ画面10上又はエディタ画面10が有するプロジェクト名を取得して、第2サーバ300に送信する。第2サーバ300はプロジェクト名を利用して後述する種々の情報処理を実行し、除外申請推奨や修正推奨といった参考情報とチェック内容を組にして出力する。画面表示部111Bは、第2サーバ300から出力されたチェック内容と参考情報をエディタ画面10上に出力する。これにより、エディタ画面10上に表示されたソースコードSCの該当箇所の近傍にチェック内容と除外申請推奨や修正推奨といった参考情報とが出現するとともに、除外申請画面20を起動して表示させるためのマーカーが表示される。 When the plug-in execution unit 111A detects that a specific operation has been performed on a specific character string displayed on the editor screen 10, the plug-in execution unit 111A executes the plug-in. Details will be described later, but for example, a plug-in is executed that a specific operation (for example, left-clicking) for instructing the character string is performed on the character string representing the static analysis tool displayed on the editor screen 10. When the unit 111A detects, the project name on the editor screen 10 or the editor screen 10 is acquired and transmitted to the second server 300. The second server 300 executes various information processing described later using the project name, and outputs a set of reference information such as exclusion application recommendation and correction recommendation and check contents. The screen display unit 111B outputs the check contents and reference information output from the second server 300 on the editor screen 10. As a result, the check contents and reference information such as exclusion application recommendation and correction recommendation appear in the vicinity of the corresponding part of the source code SC displayed on the editor screen 10, and the exclusion application screen 20 is started and displayed. A marker is displayed.

さらに、エディタ画面10上に表示されたマーカーに対し、そのマーカーを指示する特定の操作(例えば右クリックなど)が行われると、除外申請画面20が開発端末100に表示される。さらに、除外申請画面20上に申請する理由などが入力されて申請を指示する特定の操作が行われると、除外申請部111Cはその特定の操作を検出し、除外申請画面20上に表示された申請内容などを第2サーバ300に送信する。 Further, when a specific operation (for example, right-clicking) for instructing the marker is performed on the marker displayed on the editor screen 10, the exclusion application screen 20 is displayed on the development terminal 100. Further, when a specific operation for instructing the application is performed by inputting the reason for applying on the exclusion application screen 20, the exclusion application unit 111C detects the specific operation and displays it on the exclusion application screen 20. The application contents and the like are transmitted to the second server 300.

図4に戻り、チェック結果検索部312は開発端末100からプロジェクト名が送信されると、受信したプロジェクト名に基づいてチェック結果テーブルT1を検索する。チェック結果除外部313はチェック結果検索部312による検索結果としてのチェック結果を取得する。また、チェック結果検索部312は受信したプロジェクト名に基づいて除外ルールテーブルT2を検索する。チェック結果除外部313はチェック結果検索部312による検索結果としての除外ルールを取得する。チェック結果除外部313は取得した除外ルールを利用してチェック結果の一部を除外(フィルタリング)し、除外済みのチェック結果と除外ルールとを除外ルール履歴解析部314に出力する。すなわち、チェック結果除外部313は除外ルールに該当しないチェック結果を後続の処理対象から除外し、後続の処理で利用するチェック結果に絞り込む。 Returning to FIG. 4, when the project name is transmitted from the development terminal 100, the check result search unit 312 searches the check result table T1 based on the received project name. The check result exclusion unit 313 acquires the check result as the search result by the check result search unit 312. Further, the check result search unit 312 searches the exclusion rule table T2 based on the received project name. The check result exclusion unit 313 acquires an exclusion rule as a search result by the check result search unit 312. The check result exclusion unit 313 excludes (filters) a part of the check result by using the acquired exclusion rule, and outputs the excluded check result and the exclusion rule to the exclusion rule history analysis unit 314. That is, the check result exclusion unit 313 excludes the check results that do not correspond to the exclusion rule from the subsequent processing targets, and narrows down the check results to be used in the subsequent processing.

除外ルール履歴解析部314は除外済みのチェック結果と除外ルールを利用して、除外済みのチェック結果における推奨ステータスを更新する。これにより、除外済みのチェック結果には除外申請推奨や修正推奨といった参考情報が格納される。更新後、除外ルール履歴解析部314は推奨ステータスを更新した除外済みチェック結果をプラグインフォーマット型に変換し、チェック結果検索部312に出力する。尚、除外ルール履歴解析部314については後にさらに詳しく説明する。チェック結果検索部312はプラグインフォーマット型に変換された除外済みチェック結果をJSON形式に変換し、JSON形式に変換された除外済みのチェック結果に含まれるチェック内容と参考情報を開発端末100に出力する。これにより、上述した画面表示部111Bはチェック内容と参考情報をエディタ画面10上に出力することができる。 The exclusion rule history analysis unit 314 updates the recommended status in the excluded check result by using the excluded check result and the exclusion rule. As a result, reference information such as exclusion application recommendation and correction recommendation is stored in the excluded check result. After the update, the exclusion rule history analysis unit 314 converts the excluded check result whose recommended status has been updated into a plug-in format type, and outputs the result to the check result search unit 312. The exclusion rule history analysis unit 314 will be described in more detail later. The check result search unit 312 converts the excluded check result converted to the plug-in format type into the JSON format, and outputs the check contents and reference information included in the excluded check result converted to the JSON format to the development terminal 100. To do. As a result, the screen display unit 111B described above can output the check contents and reference information on the editor screen 10.

除外申請仮登録部315は開発端末100から送信された申請内容などを仮登録というステータスで除外ルールテーブルT2に登録する。一方、上述した除外ルール履歴解析部314は管理者端末400からの指示に基づいて、除外ルールテーブルT2から全ての除外ルールを取得して保持する。また、除外ルール履歴解析部314は管理者端末400からの別の指示に基づいて、申請内容と類似する除外ルールを抽出して保持する。管理者端末400は除外ルール履歴解析部314が保持する除外ルールを申請内容と併せて取得する。これにより、管理者端末400は申請内容とその申請内容に類似する除外ルールを表示することができる。除外申請登録部316は申請内容に対する対応に関する指示を検出すると、対応に応じたステータスに除外ルールを更新する。具体的には、除外申請登録部316は申請内容を承認する場合、除外ルールの仮登録を受領に書き換える。逆に、除外申請登録部316は申請内容を差し戻す場合、除外ルールの仮登録を差戻しに書き換える。 The exclusion application temporary registration unit 315 registers the application contents and the like sent from the development terminal 100 in the exclusion rule table T2 with the status of temporary registration. On the other hand, the exclusion rule history analysis unit 314 described above acquires and holds all the exclusion rules from the exclusion rule table T2 based on the instruction from the administrator terminal 400. Further, the exclusion rule history analysis unit 314 extracts and holds an exclusion rule similar to the application content based on another instruction from the administrator terminal 400. The administrator terminal 400 acquires the exclusion rule held by the exclusion rule history analysis unit 314 together with the application content. As a result, the administrator terminal 400 can display the application content and the exclusion rule similar to the application content. When the exclusion application registration unit 316 detects an instruction regarding the response to the application content, the exclusion rule is updated to the status corresponding to the response. Specifically, when the exclusion application registration unit 316 approves the application contents, the provisional registration of the exclusion rule is rewritten as receipt. On the contrary, when the exclusion application registration unit 316 remands the application contents, the provisional registration of the exclusion rule is rewritten as remand.

続いて、図8から図21を参照して、開発端末100、第1サーバ200、第2サーバ300、及び管理者端末400の各動作について説明する。 Subsequently, the operations of the development terminal 100, the first server 200, the second server 300, and the administrator terminal 400 will be described with reference to FIGS. 8 to 21.

まず、図8及び図9を参照して、チェック結果の登録する処理について説明する。図8は第1サーバ200の動作の一例を示すフローチャートである。図9は第2サーバ300の動作の一例を示すフローチャートである。まず、図8に示すように、第1サーバ200のGit210はソースコードSCを受信するまで待機する(ステップS101:NO)。Git210はソースコードSCを受信すると(ステップS101:YES)、Git210はソースコードSCを記憶する(ステップS102)。ステップS102の処理が完了すると、次いで、継続的インテグレーション部220はGit210に記憶されたソースコードSCを取得する(ステップS103)。ステップS103の処理が完了すると、次いで、第1情報処理部230は継続的インテグレーション部220が取得したソースコードSCを複製する(ステップS104)。 First, the process of registering the check result will be described with reference to FIGS. 8 and 9. FIG. 8 is a flowchart showing an example of the operation of the first server 200. FIG. 9 is a flowchart showing an example of the operation of the second server 300. First, as shown in FIG. 8, the Git 210 of the first server 200 waits until the source code SC is received (step S101: NO). When the Git 210 receives the source code SC (step S101: YES), the Git 210 stores the source code SC (step S102). When the process of step S102 is completed, the continuous integration unit 220 then acquires the source code SC stored in the Git 210 (step S103). When the process of step S103 is completed, the first information processing unit 230 then duplicates the source code SC acquired by the continuous integration unit 220 (step S104).

ステップS104の処理が完了すると、次いで、第1静的解析部221A及び第2静的解析部221Bは継続的インテグレーション部220が取得したソースコードSCに対しそれぞれ静的解析を実行し、第3静的解析部231は第1情報処理部230が複製したソースコードSCに対し静的解析を実行する(ステップS105)。ステップS105の処理が完了すると、第1静的解析部221A、第2静的解析部221B及び第3静的解析部231はそれぞれ静的解析の解析結果をチェック結果として第2サーバ300にアップロードし(ステップS106)、処理を終了する。 When the process of step S104 is completed, the first static analysis unit 221A and the second static analysis unit 221B each execute static analysis on the source code SC acquired by the continuous integration unit 220, and the third static analysis unit 221A and the second static analysis unit 221B respectively perform static analysis. The target analysis unit 231 executes static analysis on the source code SC duplicated by the first information processing unit 230 (step S105). When the process of step S105 is completed, the first static analysis unit 221A, the second static analysis unit 221B, and the third static analysis unit 231 upload the analysis results of the static analysis to the second server 300 as check results, respectively. (Step S106), the process ends.

一方、図9に示すように、第2サーバ300のチェック結果登録部311はチェック結果がアップロードされるまで待機する(ステップS201:NO)。チェック結果登録部311はチェック結果がアップロードされると(ステップS201:YES)、チェック結果をチェック結果テーブルT1に格納し(ステップS202)、処理を終了する。これにより、チェック結果テーブルT1はソースコードSCに対する静的解析のチェック結果を記憶する。 On the other hand, as shown in FIG. 9, the check result registration unit 311 of the second server 300 waits until the check result is uploaded (step S201: NO). When the check result is uploaded (step S201: YES), the check result registration unit 311 stores the check result in the check result table T1 (step S202), and ends the process. As a result, the check result table T1 stores the check result of the static analysis for the source code SC.

次に、図10から図12までを参照して、エディタ画面10に参考情報を表示するまでの処理について説明する。 Next, the process of displaying the reference information on the editor screen 10 will be described with reference to FIGS. 10 to 12.

図10は開発端末100の動作の一例を示すフローチャートである。図11はエディタ画面10の一例である。図12は第2サーバ300の動作の一例を示すフローチャートである。 FIG. 10 is a flowchart showing an example of the operation of the development terminal 100. FIG. 11 is an example of the editor screen 10. FIG. 12 is a flowchart showing an example of the operation of the second server 300.

まず、図10に示すように、プラグイン実行部111Aは特定操作を検出するまで待機する(ステップS301:NO)。具体的には、図11に示すように、プラグイン実行部111Aはエディタ画面10のメニューバーなどに表示された静的解析ツールを表す特定の文字列(例えばCodeG)に対し、特定操作(例えばクリック)が行われたことを検出するまで待機する。プラグイン実行部111Aは特定操作を検出すると(ステップS301:YES)、プラグインを実行する(ステップS302)。具体的には、プラグイン実行部111Aはエディタ画面10が有するプロジェクト名(不図示)を取得して第2サーバ300に送信する。これにより、エディタ画面10上に表示されたソースコードSCに対するチェック内容と参考情報の出力が開始する。ステップS302の処理が完了すると、画面表示部111Bはチェック内容等(具体的にはチェック内容及び参考情報)を受信するまで待機する(ステップS303:NO)。 First, as shown in FIG. 10, the plug-in execution unit 111A waits until a specific operation is detected (step S301: NO). Specifically, as shown in FIG. 11, the plug-in execution unit 111A performs a specific operation (for example, CodeG) on a specific character string (for example, CodeG) representing a static analysis tool displayed on the menu bar of the editor screen 10. Wait until it detects that a click) has taken place. When the plug-in execution unit 111A detects a specific operation (step S301: YES), the plug-in execution unit 111A executes the plug-in (step S302). Specifically, the plug-in execution unit 111A acquires the project name (not shown) of the editor screen 10 and transmits it to the second server 300. As a result, the check contents and reference information for the source code SC displayed on the editor screen 10 start to be output. When the process of step S302 is completed, the screen display unit 111B waits until the check contents and the like (specifically, the check contents and the reference information) are received (step S303: NO).

一方、図12に示すように、第2サーバ300のチェック結果検索部312はプラグインが実行されるまで待機する(ステップS401:NO)。より詳しくは、チェック結果検索部312はプラグイン実行部111Aからプロジェクト名が送信されるまで待機する。チェック結果検索部312はプラグインが実行されたと判断すると(ステップS401:YES)、チェック結果テーブルを検索する(ステップS402)。より詳しくは、チェック結果検索部312はプロジェクト名に基づいてチェック結果テーブルT1を検索する。ステップS402の処理が完了すると、チェック結果除外部313はチェック結果を取得する(ステップS403)。より詳しくは、チェック結果除外部313はプロジェクト名に応じたチェック結果をチェック結果テーブルから取得する。 On the other hand, as shown in FIG. 12, the check result search unit 312 of the second server 300 waits until the plug-in is executed (step S401: NO). More specifically, the check result search unit 312 waits until the project name is transmitted from the plug-in execution unit 111A. When the check result search unit 312 determines that the plug-in has been executed (step S401: YES), the check result search unit 312 searches the check result table (step S402). More specifically, the check result search unit 312 searches the check result table T1 based on the project name. When the process of step S402 is completed, the check result exclusion unit 313 acquires the check result (step S403). More specifically, the check result exclusion unit 313 acquires the check result according to the project name from the check result table.

ステップS403の処理が完了すると、次いで、チェック結果検索部312は除外ルールテーブルT2を検索する(ステップS404)。より詳しくは、チェック結果検索部312はプロジェクト名に基づいて除外ルールテーブルT2を検索する。ステップS404の処理が完了すると、チェック結果除外部313は除外ルールを取得する(ステップS405)。より詳しくは、チェック結果除外部313はプロジェクト名に応じた除外ルールを除外ルールテーブルT2から取得する。 When the process of step S403 is completed, the check result search unit 312 then searches the exclusion rule table T2 (step S404). More specifically, the check result search unit 312 searches the exclusion rule table T2 based on the project name. When the process of step S404 is completed, the check result exclusion unit 313 acquires the exclusion rule (step S405). More specifically, the check result exclusion unit 313 acquires the exclusion rule according to the project name from the exclusion rule table T2.

ステップS405の処理が完了すると、次いで、チェック結果除外部313は除外ルールを利用してチェック結果の一部を除外する(ステップS406)。例えば、取得したチェック結果と除外ルールの対応する構成要素同士を比較して、構成要素が一致するチェック結果に絞り込む。構成要素としては、例えばパッケージ、クラス、メソッドなどがある。すなわち、除外ルールを利用できない一部のチェック結果をチェック結果除外部313はフィルタリングして、除外済みのチェック結果を出力する。ステップS406の処理が完了すると、除外ルール履歴解析部314は履歴解析処理を実行する(ステップS407)。履歴解析処理は除外済みのチェック結果と同種類の除外ルールに対してなされた過去の対応履歴を解析し、除外済みのチェック結果の推奨ステータスに参考情報を登録する処理である。履歴解析処理については後に詳しく説明する。 When the process of step S405 is completed, the check result exclusion unit 313 then excludes a part of the check result by using the exclusion rule (step S406). For example, the acquired check result and the corresponding components of the exclusion rule are compared with each other, and the check results that match the components are narrowed down. Components include, for example, packages, classes, methods, and the like. That is, the check result exclusion unit 313 filters some check results for which the exclusion rule cannot be used, and outputs the excluded check results. When the process of step S406 is completed, the exclusion rule history analysis unit 314 executes the history analysis process (step S407). The history analysis process is a process of analyzing the past correspondence history made for the exclusion rule of the same type as the excluded check result and registering reference information in the recommended status of the excluded check result. The history analysis process will be described in detail later.

ステップS407の処理が完了すると、除外ルール履歴解析部314はチェック結果を変換する(ステップS408)。より詳しくは、除外ルール履歴解析部314は除外済みのチェック結果をプラグインフォーマット型に変換し、チェック結果検索部312はプラグインフォーマット型に変換された除外済みのチェック結果をJSON形式に変換する。ステップS408が完了すると、チェック結果検索部312はチェック内容と参考情報を出力する(ステップS409)。より詳しくは、チェック結果検索部312はJSON形式に変換された除外済みのチェック結果に含まれるチェック内容と参考情報を開発端末100に送信する。 When the process of step S407 is completed, the exclusion rule history analysis unit 314 converts the check result (step S408). More specifically, the exclusion rule history analysis unit 314 converts the excluded check result to the plug-in format type, and the check result search unit 312 converts the excluded check result converted to the plug-in format type into JSON format. .. When step S408 is completed, the check result search unit 312 outputs the check contents and reference information (step S409). More specifically, the check result search unit 312 transmits the check contents and reference information included in the excluded check results converted to the JSON format to the development terminal 100.

図10に戻り、第2サーバ300からチェック内容と参考情報が送信されると、開発端末100の画面表示部111Bはチェック内容と参考情報とを受信し(ステップS303:YES)、チェック内容と参考情報を表示する(ステップS304)。より詳しくは、画面表示部111Bはエディタ画面10上に表示されたソースコードSCの対応する箇所に、チェック内容としてのメッセージと参考情報を組みにして表示させるとともに、対応する箇所の近傍にマーカーを表示させる。これにより、図11に示すように、例えばソースコードSCの6行目の直下に静的解析による特定のメッセージ「〜〜〜してください。」と除外申請推奨である旨の組を含む1つの画像領域IM1内が出現する。そして、ソースコードSCの6行目の行番号の左脇にマーカーM1が出現する。同様に、例えばソースコードSCの15行目の直下に静的解析による特定のメッセージ「〜〜〜してください。」と修正推奨である旨の組を含む1つの画像領域IM2内が出現する。そして、ソースコードSCの15行目の行番号の左脇にマーカーM2が出現する。 Returning to FIG. 10, when the check content and the reference information are transmitted from the second server 300, the screen display unit 111B of the development terminal 100 receives the check content and the reference information (step S303: YES), and the check content and the reference information. Display the information (step S304). More specifically, the screen display unit 111B displays a message as a check content and reference information in combination at the corresponding part of the source code SC displayed on the editor screen 10, and displays a marker in the vicinity of the corresponding part. Display it. As a result, as shown in FIG. 11, for example, immediately below the 6th line of the source code SC, one set including a specific message "Please do ~ ~ ~" by static analysis and a set that the exclusion application is recommended. The inside of the image area IM1 appears. Then, the marker M1 appears on the left side of the line number on the sixth line of the source code SC. Similarly, for example, immediately below the 15th line of the source code SC, one image area IM2 including a set of a specific message "Please do ~ ~ ~" by static analysis and a correction recommendation appears. Then, the marker M2 appears on the left side of the line number on the 15th line of the source code SC.

この結果、開発者は静的解析によるメッセージだけで除外申請を行うか否か判断せず、メッセージと併せて出力された参考情報(具体的には除外申請推奨又は修正推奨)も確認して除外申請を行うか否か判断する。例えば、除外申請推奨が出力されていれば、開発者はその行に対するメッセージは無駄な指摘であり、除外申請を行えば承認される可能性が高いと判断し、除外申請を行うようになる。逆に、修正推奨が出力されていれば、開発者はその行に対するメッセージは有益な指摘であり、除外申請を行えば差し戻される可能性が高いと判断し、ソースコードSCの修正を行うようになる。 As a result, the developer does not judge whether to apply for exclusion only by the message by static analysis, but also confirms the reference information (specifically, recommendation for exclusion application or recommendation for correction) output together with the message and excludes it. Decide whether to apply. For example, if an exclusion request recommendation is output, the developer determines that the message for that line is useless and that it is highly likely that the exclusion request will be approved, and the exclusion request will be made. On the contrary, if the correction recommendation is output, the developer judges that the message for that line is a useful point and there is a high possibility that it will be returned if an exclusion request is made, and the source code SC should be corrected. become.

したがって、開発者はチェック結果のメッセージを個別に確認して除外申請の要否を決定する必要がなく、除外申請の手間が削減される。特に、納期間近など開発終盤に大量のチェック結果がフィードバックされると開発者の開発意欲がそがれるおそれがあるが、開発初期の段階で有益な指摘と無駄な指摘が区別されたチェック結果がフィードバックされる。このため、開発者は効率的にソースコードSCを修正でき、ソースコードSCの品質低下を抑制することができる。 Therefore, the developer does not have to individually check the check result message to decide whether or not the exclusion application is necessary, and the time and effort for the exclusion application is reduced. In particular, if a large amount of check results are fed back at the end of development, such as near the delivery date, the developer's motivation for development may be discouraged. To. Therefore, the developer can efficiently modify the source code SC and suppress the deterioration of the quality of the source code SC.

ここで、図13から図15までを参照して、上述した履歴解析処理についてさらに詳しく説明する。 Here, the history analysis process described above will be described in more detail with reference to FIGS. 13 to 15.

図13は履歴解析処理の一例を示すフローチャートである。図14は履歴解析処理を説明する図の一例である。図15は履歴解析処理を説明する図の他の一例である。図12を参照して説明したステップS406の処理が完了すると、図13に示すように、除外ルール履歴解析部314はチェック結果と除外ルールのそれぞれに対し階層文字列を生成する(ステップS501)。例えば、図14(a)に示すように、除外ルール履歴解析部314は、パッケージを表す文字列a.b(例えばcom.fujitsuなど)、クラスを表す文字列c(例えばBclassなど)、メソッドを表す文字列d(例えばcopyなど)をドットで結合した階層文字列a.b.c.dを生成する。尚、パッケージだけを利用する場合には、ステップS501の処理はスキップされる。 FIG. 13 is a flowchart showing an example of the history analysis process. FIG. 14 is an example of a diagram illustrating the history analysis process. FIG. 15 is another example of the figure for explaining the history analysis process. When the process of step S406 described with reference to FIG. 12 is completed, as shown in FIG. 13, the exclusion rule history analysis unit 314 generates a hierarchical character string for each of the check result and the exclusion rule (step S501). For example, as shown in FIG. 14A, the exclusion rule history analysis unit 314 has a character string a. A hierarchical character string in which b (for example, com.fujitsu), a character string c for a class (for example, Bclass), and a character string d for a method (for example, copy) are joined by dots. b. c. Generate d. If only the package is used, the process of step S501 is skipped.

ステップS501の処理が完了すると、図13に示すように、除外ルール履歴解析部314はチェック結果の階層文字列と除外ルールの階層文字列をそれぞれ分割する(ステップS502)。例えば、図14(b)に示すように、階層文字列の最下階層から順に最上階層になるまでドット毎に分割し、メインメモリなどの記憶領域に保持する。 When the process of step S501 is completed, as shown in FIG. 13, the exclusion rule history analysis unit 314 divides the hierarchical character string of the check result and the hierarchical character string of the exclusion rule, respectively (step S502). For example, as shown in FIG. 14B, the character string is divided into dots from the lowest layer to the highest layer in order, and is stored in a storage area such as a main memory.

ステップS502の処理が完了すると、次いで、除外ルール履歴解析部314は除外ルールの除外申請受領件数と除外申請差戻件数を階層文字列毎に計数する(ステップS503)。より詳しくは、まず、除外ルール履歴解析部314は1つ目のチェック結果のルールIDと一致するルールIDの除外ルールを1つ抽出する。次に、除外ルール履歴解析部314は抽出した除外ルールのステータスに仮登録が格納されていれば、次の除外ルールを1つ抽出する。一方、除外ルール履歴解析部314はステータスに受領が格納されていれば、除外申請受領件数をインクリメントし、差戻が格納されていれば、除外申請差戻件数をインクリメントする。そして、次の除外ルールを1つ抽出する。除外ルール履歴解析部314は1つ目の除外済みのチェック結果に対してルールIDが一致する全ての除外ルールに対して同様の処理を行う。さらに、除外ルール履歴解析部314は1つ目の除外済みのチェック結果に対する処理が完了すると、2つ目以降のチェック結果に対しても同様の処理を行う。これにより、図14(c)に示すように、除外テーブルの各階層文字列に対し、除外申請受領件数と除外申請差戻件数が計数される。 When the process of step S502 is completed, the exclusion rule history analysis unit 314 then counts the number of exclusion application receipts and the number of exclusion application remand of the exclusion rule for each hierarchical character string (step S503). More specifically, first, the exclusion rule history analysis unit 314 extracts one exclusion rule with a rule ID that matches the rule ID of the first check result. Next, if the provisional registration is stored in the status of the extracted exclusion rule, the exclusion rule history analysis unit 314 extracts one of the following exclusion rules. On the other hand, the exclusion rule history analysis unit 314 increments the number of exclusion application receipts if the receipt is stored in the status, and increments the number of exclusion application remand if the remand is stored. Then, one of the following exclusion rules is extracted. The exclusion rule history analysis unit 314 performs the same processing for all exclusion rules whose rule IDs match the first excluded check result. Further, when the processing for the first excluded check result is completed, the exclusion rule history analysis unit 314 performs the same processing for the second and subsequent check results. As a result, as shown in FIG. 14C, the number of exclusion application receipts and the number of exclusion application remand are counted for each hierarchical character string in the exclusion table.

ステップS503の処理が完了すると、次いで、除外ルール履歴解析部314は受領確度ポイントP1を算出し(ステップS504)、次いで、差戻確度ポイントP2を算出する(ステップS505)。図15(a)を参照して具体的に説明すると、除外ルール履歴解析部314は、まず、受領確度ポイントP1を算出するための計算テーブルT3と差戻確度ポイントP2を算出するための計算テーブルT4を生成する。次に、除外ルール履歴解析部314は、計算テーブルT3,T4のそれぞれに対し、同じ階層文字列を項目xとして列方向にマッピングし、項目yとして行方向にマッピングする。そして、除外ルール履歴解析部314は、階層差が存在する箇所全てに対し、受領確度基礎ポイントP1´及び差戻確度基礎ポイントP2´を算出する。最後に、除外ルール履歴解析部314は、受領確度基礎ポイントP1´の行方向の総和を受領確度ポイントP1として算出し、差戻確度基礎ポイントP2´の行方向の総和を差戻確度ポイントP2として算出する。 When the process of step S503 is completed, the exclusion rule history analysis unit 314 then calculates the receipt probability point P1 (step S504), and then calculates the remand probability point P2 (step S505). More specifically with reference to FIG. 15A, the exclusion rule history analysis unit 314 first calculates a calculation table T3 for calculating the receipt probability point P1 and a calculation table for calculating the return probability point P2. Generate T4. Next, the exclusion rule history analysis unit 314 maps the same hierarchical character string in the column direction as the item x and maps it in the row direction as the item y for each of the calculation tables T3 and T4. Then, the exclusion rule history analysis unit 314 calculates the receipt probability basic point P1'and the return probability basic point P2'for all the locations where the hierarchical difference exists. Finally, the exclusion rule history analysis unit 314 calculates the sum of the row directions of the receipt probability basic points P1'as the receipt probability points P1, and sets the sum of the row directions of the remand probability basic points P2' as the remand probability points P2. calculate.

ここで、除外ルール履歴解析部314は、受領確度基礎ポイントP1´及び差戻確度基礎ポイントP2´のいずれも所定の算出関数f(x,y)を利用して算出する。算出関数f(x,y)は以下の式により表される。
算出関数f(x,y)=(階層上昇係数^階層上昇数)
×(階層下降係数^階層下降数)
×(xの受領件数又は差戻件数)
Here, the exclusion rule history analysis unit 314 calculates both the receipt probability basic point P1'and the return probability basic point P2'using a predetermined calculation function f (x, y). The calculation function f (x, y) is expressed by the following formula.
Calculation function f (x, y) = (layer rise coefficient ^ layer rise number)
× (Hierarchical descent coefficient ^ Hierarchical descent number)
× (Number of receipts or remand of x)

上述した階層上昇係数及び階層下降係数は階層の関連度(例えば距離)を表しており、階層上昇係数より階層下降係数の方に大きな値が設定される。例えば階層上昇係数に0.1が設定されれば、階層下降係数には0.5が設定される。すなわち、上位の階層文字列になればなるほど、階層文字列の下位には互いに異なる階層文字列が増加し、関連度が薄くなる。逆に、下位の階層文字列になればなるほど、階層文字列の下位には互いに異なる階層文字列が減少し、関連度が高くなる。このため、階層上昇係数より階層下降係数の方に大きな値が設定される。 The above-mentioned hierarchical ascending coefficient and hierarchical descending coefficient represent the degree of hierarchy (for example, distance), and a larger value is set for the hierarchical descending coefficient than for the hierarchical ascending coefficient. For example, if 0.1 is set for the hierarchy ascending coefficient, 0.5 is set for the hierarchy descending coefficient. That is, the higher the hierarchical character string, the more different hierarchical character strings are added to the lower level of the hierarchical character string, and the degree of relevance becomes weaker. On the contrary, the lower the hierarchical character string, the less the hierarchical character strings that are different from each other below the hierarchical character string, and the higher the degree of relevance. Therefore, a larger value is set for the hierarchical descending coefficient than for the hierarchical ascending coefficient.

また、階層上昇数及び階層下降数は階層文字列の後方不一致階層数を表している。例えば、列方向に展開した階層文字列aと行方向に展開した階層文字列a.bは後方不一致階層数が1であり、階層文字列aを基準とすると階層文字列a.bでは下位に.bが結合されているため、階層は下降している。例えば、列方向に展開した階層文字列a.b.c.dと行方向に展開した階層文字列aは後方不一致階層数が3であり、階層文字列a.b.c.dを基準とすると階層文字列aでは下位に何も結合されていないため、階層は上昇している。したがって、図15(a)に示すように、計算テーブルT3,T4は階層上昇ゾーンZ1と階層下降ゾーンZ2とに大別される。そして、xの受領件数又は差戻件数は、ステップS503の処理で算出された除外申請受領件数と除外申請差戻件数に対応する。以上の処理により、除外ルール履歴解析部314は受領確度ポイントP1と差戻確度ポイントP2を算出する。尚、除外ルール履歴解析部314は、項目xと項目yをマッピングした計算テーブルT3,T4を出力してもよく、さらに、算出した受領確度ポイントP1と差戻確度ポイントP2も含めた計算テーブルT3,T4を出力してもよい。 In addition, the number of hierarchical ascending and the number of hierarchical descending represents the number of rearward mismatched layers of the hierarchical character string. For example, a hierarchical character string a expanded in the column direction and a hierarchical character string a expanded in the row direction. In b, the number of rearward mismatch layers is 1, and when the hierarchical character string a is used as a reference, the hierarchical character string a. In b, it is lower. Since b is connected, the hierarchy is descending. For example, a hierarchical character string expanded in the column direction a. b. c. The hierarchical character string a expanded in the line direction with d has a number of backward mismatched layers of 3, and the hierarchical character string a. b. c. When d is used as a reference, the hierarchical character string a is elevated because nothing is combined at the lower level. Therefore, as shown in FIG. 15A, the calculation tables T3 and T4 are roughly classified into a hierarchical ascending zone Z1 and a hierarchical descending zone Z2. Then, the number of received cases or the number of remand cases of x corresponds to the number of cases of exclusion application received and the number of cases of exclusion application remand calculated in the process of step S503. Through the above processing, the exclusion rule history analysis unit 314 calculates the receipt probability point P1 and the return probability point P2. The exclusion rule history analysis unit 314 may output the calculation tables T3 and T4 that map the item x and the item y, and further, the calculation table T3 including the calculated receipt probability point P1 and the return probability point P2. , T4 may be output.

図13に戻り、ステップS505の処理が完了すると、次いで、除外ルール履歴解析部314は受領確度ポイントP1が差戻確度ポイントP2より大きいか否かを判断する(ステップS506)。除外ルール履歴解析部314は受領確度ポイントP1が差戻確度ポイントP2より大きいと判断した場合(ステップS506:YES)、さらに、受領確度ポイントP1が閾値を超えているか否かを判断する(ステップS507)。除外ルール履歴解析部314は受領確度ポイントP1が閾値を超えていると判断した場合(ステップS507:YES)、除外済みチェック結果の推奨ステータスを除外推奨に更新し(ステップS508)、処理を終了する。一方、除外ルール履歴解析部314は受領確度ポイントP1が閾値を超えていないと判断した場合(ステップS507:NO)、ステップS508の処理をスキップし、処理を終了する。 Returning to FIG. 13, when the process of step S505 is completed, the exclusion rule history analysis unit 314 then determines whether or not the receipt probability point P1 is larger than the remand probability point P2 (step S506). When the exclusion rule history analysis unit 314 determines that the receipt probability point P1 is larger than the remand probability point P2 (step S506: YES), it further determines whether or not the receipt probability point P1 exceeds the threshold value (step S507). ). When the exclusion rule history analysis unit 314 determines that the receipt probability point P1 exceeds the threshold value (step S507: YES), updates the recommended status of the excluded check result to exclusion recommendation (step S508), and ends the process. .. On the other hand, when the exclusion rule history analysis unit 314 determines that the receipt probability point P1 does not exceed the threshold value (step S507: NO), the process of step S508 is skipped and the process is terminated.

逆に、除外ルール履歴解析部314は受領確度ポイントP1が差戻確度ポイントP2より以下であると判断した場合(ステップS506:NO)、さらに、差戻確度ポイントP2が閾値を超えているか否かを判断する(ステップS509)。除外ルール履歴解析部314は差戻確度ポイントP2が閾値を超えていると判断した場合(ステップS509:YES)、除外済みチェック結果の推奨ステータスを修正推奨に更新し(ステップS510)、処理を終了する。一方、除外ルール履歴解析部314は差戻確度ポイントP2が閾値を超えていないと判断した場合(ステップS509:NO)、ステップS510の処理をスキップし、処理を終了する。 On the contrary, when the exclusion rule history analysis unit 314 determines that the receipt probability point P1 is equal to or less than the remand probability point P2 (step S506: NO), whether or not the remand probability point P2 exceeds the threshold value. Is determined (step S509). When the exclusion rule history analysis unit 314 determines that the remand probability point P2 exceeds the threshold value (step S509: YES), updates the recommended status of the excluded check result to the correction recommendation (step S510), and ends the process. To do. On the other hand, when the exclusion rule history analysis unit 314 determines that the remand probability point P2 does not exceed the threshold value (step S509: NO), the process of step S510 is skipped and the process is terminated.

すなわち、図15(b)に示すように、受領確度ポイントP1と差戻確度ポイントP2の大小関係が判断され、ポイント値が大きい方が選択される。そして、選択された方が所定の閾値(例えば10ポイント)を超えていれば、選択された方が採用される。図15(b)では受領確度ポイントP1が採用されて閾値を超えているため、除外申請推奨となるが、逆に、差戻確度ポイントP2が採用されて閾値を超えていれば、修正推奨となる。 That is, as shown in FIG. 15B, the magnitude relationship between the receipt probability point P1 and the return probability point P2 is determined, and the one with the larger point value is selected. Then, if the selected one exceeds a predetermined threshold value (for example, 10 points), the selected one is adopted. In FIG. 15B, since the receipt probability point P1 is adopted and exceeds the threshold value, the exclusion application is recommended. On the contrary, if the remand accuracy point P2 is adopted and exceeds the threshold value, it is recommended to correct. Become.

このように、履歴解析処理では、静的解析の指摘件数がパッケージなどの階層によって偏る傾向を利用している。除外申請されている階層文字列と、同じ種類の指摘が出力された過去の階層文字列の関連度を比較して、受領確度ポイントP1及び差戻確度ポイントP2が算出される。 In this way, the history analysis process utilizes the tendency that the number of indications of static analysis is biased depending on the hierarchy such as packages. The receipt probability point P1 and the remand probability point P2 are calculated by comparing the degree of relevance between the hierarchical character string for which exclusion is applied and the past hierarchical character string for which the same type of indication is output.

続いて、図16から図21などを参照して、除外申請及びその認否判断について説明する。 Subsequently, the exclusion application and its approval / disapproval judgment will be described with reference to FIGS. 16 to 21 and the like.

図16は開発端末100の動作の一例を示すフローチャートである。図17は除外申請画面20の一例である。図18は第2サーバ300の動作の一例を示すフローチャートである。図19は管理者端末400の動作の一例を示すフローチャートである。図20は除外申請一覧画面30の一例である。図21は除外申請確認画面40の一例である。 FIG. 16 is a flowchart showing an example of the operation of the development terminal 100. FIG. 17 is an example of the exclusion application screen 20. FIG. 18 is a flowchart showing an example of the operation of the second server 300. FIG. 19 is a flowchart showing an example of the operation of the administrator terminal 400. FIG. 20 is an example of the exclusion application list screen 30. FIG. 21 is an example of the exclusion application confirmation screen 40.

まず、図16に示すように、除外申請部111CはマーカーM1,M2の操作を検出するまで待機する(ステップS601:NO)。除外申請部111CはマーカーM1,M2の操作を検出すると(ステップS601:YES)、除外申請画面20を表示する(ステップS602)。 First, as shown in FIG. 16, the exclusion application unit 111C waits until the operation of the markers M1 and M2 is detected (step S601: NO). When the exclusion application unit 111C detects the operation of the markers M1 and M2 (step S601: YES), the exclusion application screen 20 is displayed (step S602).

図17を参照して具体的に説明すると、エディタ画面10(図11参照)上に表示されたマーカーM1,M2に対し、マーカーM1,M2を指示する特定の操作(例えば右クリックなど)が行われると、図17に示すように、除外申請部111Cは除外申請画面20を表示する。除外申請画面20はツール名、ルールID、パッケージ、クラス、メソッド、メッセージ、チーム名、及び氏名を表示する表示欄Bx1、申請理由を入力する入力欄Bx2、並びに申請ボタンBt1及びキャンセルボタンBt2を含んでいる。除外申請部111CはマーカーM1,M2を指示する特定の操作を検出すると、指示したマーカーM1(又はマーカーM2)と関連付けられたツール名から氏名までをそれぞれ対応する表示欄Bx1に表示する。したがって、除外申請画面20を利用して除外申請を行う開発者は入力欄Bx2に対して除外申請を行う理由を入力する。 More specifically with reference to FIG. 17, a specific operation (for example, right-clicking) for instructing the markers M1 and M2 is performed on the markers M1 and M2 displayed on the editor screen 10 (see FIG. 11). Then, as shown in FIG. 17, the exclusion application unit 111C displays the exclusion application screen 20. The exclusion application screen 20 includes a display field Bx1 for displaying the tool name, rule ID, package, class, method, message, team name, and name, an input field Bx2 for inputting the reason for application, and an application button Bt1 and a cancel button Bt2. I'm out. When the exclusion application unit 111C detects a specific operation instructing the markers M1 and M2, the tool name to the name associated with the instructed marker M1 (or marker M2) are displayed in the corresponding display fields Bx1. Therefore, the developer who applies for exclusion using the exclusion application screen 20 inputs the reason for applying for exclusion in the input field Bx2.

図16に戻り、ステップS602の処理が完了すると、除外申請部111Cは申請ボタン押下を検出するまで待機する(ステップS603:NO)。具体的には、図17に示すように、除外申請画面20に含まれる申請ボタンBt1を押下する操作を除外申請部111Cが検出するまで待機する。除外申請部111Cは申請ボタン押下を検出すると(ステップS603:YES)、除外申請部111Cは申請内容を送信する(ステップS604)。すなわち、除外申請部111Cは表示欄Bx1に表示された事項及び入力欄Bx2に入力された事項、その他の事項(例えば申請日、行番号、プロジェクト名など)を含む申請内容を第2サーバ300に送信する。 Returning to FIG. 16, when the process of step S602 is completed, the exclusion application unit 111C waits until the application button press is detected (step S603: NO). Specifically, as shown in FIG. 17, the exclusion application unit 111C waits until the operation of pressing the application button Bt1 included in the exclusion application screen 20 is detected. When the exclusion application unit 111C detects that the application button is pressed (step S603: YES), the exclusion application unit 111C transmits the application content (step S604). That is, the exclusion application unit 111C sends the application contents including the items displayed in the display field Bx1, the items input in the input field Bx2, and other items (for example, application date, line number, project name, etc.) to the second server 300. Send.

一方、図18に示すように、第2サーバ300の除外申請仮登録部315は申請内容を受信するまで待機する(ステップS701:NO)。除外申請仮登録部315は申請内容を受信すると(ステップS701:YES)、申請内容を除外ルールテーブルT2に仮登録する(ステップS702)。ステップS702の処理が完了すると、除外ルール履歴解析部314は一覧画面の起動を検出するまで待機する(ステップS703:NO)。一覧画面は後述する除外申請一覧画面を表している。除外ルール履歴解析部314は一覧画面の起動を検出すると(ステップS703:YES)、除外ルールテーブルT2から全ての除外ルールを取得する(ステップS704)。除外ルール履歴解析部314は全ての除外ルールを取得すると、取得した全ての除外ルールを保持する。 On the other hand, as shown in FIG. 18, the exclusion application provisional registration unit 315 of the second server 300 waits until the application content is received (step S701: NO). When the exclusion application provisional registration unit 315 receives the application content (step S701: YES), the exclusion application provisional registration unit 315 temporarily registers the application content in the exclusion rule table T2 (step S702). When the process of step S702 is completed, the exclusion rule history analysis unit 314 waits until the activation of the list screen is detected (step S703: NO). The list screen represents the exclusion application list screen described later. When the exclusion rule history analysis unit 314 detects the activation of the list screen (step S703: YES), it acquires all the exclusion rules from the exclusion rule table T2 (step S704). When the exclusion rule history analysis unit 314 acquires all the exclusion rules, it retains all the acquired exclusion rules.

他方、図19に示すように、管理者端末400が備える第4情報処理部(不図示)は一覧画面が起動されるまで待機する(ステップS801:NO)。第4情報処理部は一覧画面が起動されると(ステップS801:YES)、第2サーバ300(より詳しくは除外ルール履歴解析部314)から全ての除外ルールを取得する(ステップS802)。ステップS802の処理が完了すると、第4情報処理部は除外申請一覧画面を表示する(ステップS803)。 On the other hand, as shown in FIG. 19, the fourth information processing unit (not shown) included in the administrator terminal 400 waits until the list screen is activated (step S801: NO). When the list screen is started (step S801: YES), the fourth information processing unit acquires all exclusion rules from the second server 300 (more specifically, the exclusion rule history analysis unit 314) (step S802). When the process of step S802 is completed, the fourth information processing unit displays the exclusion application list screen (step S803).

図20を参照して除外申請一覧画面30について具体的に説明すると、除外申請一覧画面30には第4情報処理部が取得した除外ルールにおける一部の構成要素が出現する。例えば、除外ルールにおけるプロジェクト名、チーム名、申請日、申請者、ツール名、及びルールIDが出現する。構成要素の内容及び数は適宜変更してもよい。また、出現した除外ルールの一部の構成要素を表す行には選択ボタンBt3が対応付けられている。これにより、管理者は除外申請の申請状況を把握することができる。 When the exclusion application list screen 30 is specifically described with reference to FIG. 20, some components of the exclusion rule acquired by the fourth information processing unit appear on the exclusion application list screen 30. For example, the project name, team name, application date, applicant, tool name, and rule ID in the exclusion rule appear. The content and number of components may be changed as appropriate. Further, a selection button Bt3 is associated with a line representing a part of the components of the exclusion rule that appears. As a result, the administrator can grasp the application status of the exclusion application.

図19に戻り、ステップS803の処理が完了すると、第4情報処理部は選択ボタンBt3が押下されるまで待機する(ステップS804:NO)。また、図18に示すように、除外ルール履歴解析部314はステップS704の処理が完了すると、選択ボタンBt3の押下を検出するまで待機する(ステップS705:NO)。 Returning to FIG. 19, when the process of step S803 is completed, the fourth information processing unit waits until the selection button Bt3 is pressed (step S804: NO). Further, as shown in FIG. 18, when the processing of step S704 is completed, the exclusion rule history analysis unit 314 waits until the press of the selection button Bt3 is detected (step S705: NO).

ここで、除外ルール履歴解析部314は選択ボタンBt3の押下を検出すると(ステップS705:YES)、自身が保持する除外ルールの中から選択ボタンBt3と対応付けられた申請内容と類似する除外ルールを抽出する(ステップS706)。ステップS706の処理が完了すると、除外ルール履歴解析部314は抽出した除外ルールを保持する。 Here, when the exclusion rule history analysis unit 314 detects that the selection button Bt3 is pressed (step S705: YES), the exclusion rule that is similar to the application content associated with the selection button Bt3 is selected from the exclusion rules that it holds. Extract (step S706). When the process of step S706 is completed, the exclusion rule history analysis unit 314 holds the extracted exclusion rule.

一方、図19に示すように、第4情報処理部は選択ボタンBt3が押下されると(ステップS804:YES)、第2サーバから申請内容とその申請内容に類似する除外ルールを取得する(ステップS805)。ステップS805の処理が完了すると、第4情報処理部は除外申請確認画面を表示する(ステップS806)。 On the other hand, as shown in FIG. 19, when the selection button Bt3 is pressed (step S804: YES), the fourth information processing unit acquires the application content and the exclusion rule similar to the application content from the second server (step S804: YES). S805). When the process of step S805 is completed, the fourth information processing unit displays the exclusion application confirmation screen (step S806).

図21を参照して除外申請確認画面40について具体的に説明すると、除外申請確認画面40には第4情報処理部が取得した申請内容41と除外ルール42が出現する。また、除外申請確認画面40には除外申請の承認又は差戻しを選択する選択ボタンBt4、コメントの入力欄Bx3、登録ボタンBt5、キャンセルボタンBt6が出現する。管理者は除外申請確認画面40により申請内容41と類似する過去の除外申請履歴の受領状況や差戻状況を確認して、申請内容41に対する対応として承認又は差戻しを選択ボタンBt4により選択する。その際、管理者は入力欄Bx3に対し承認又は差戻しを選択した理由をコメントとして入力し、登録ボタンBt5を押下する。 When the exclusion application confirmation screen 40 is specifically described with reference to FIG. 21, the application content 41 and the exclusion rule 42 acquired by the fourth information processing unit appear on the exclusion application confirmation screen 40. Further, on the exclusion application confirmation screen 40, a selection button Bt4 for selecting approval or remand of the exclusion application, a comment input field Bx3, a registration button Bt5, and a cancel button Bt6 appear. The administrator confirms the receipt status and the remand status of the past exclusion application history similar to the application content 41 on the exclusion application confirmation screen 40, and selects approval or remand as a response to the application content 41 by the selection button Bt4. At that time, the administrator inputs the reason for selecting approval or remand in the input field Bx3 as a comment, and presses the registration button Bt5.

ここで、図19に示すように、第4情報処理部は登録ボタンBt5が押下されるまで待機し(ステップS807:NO)、登録ボタンBt5が押下されると(ステップS807:YES)、承認又は差戻しを送信する(ステップS808)。より詳しくは、第4情報処理部は選択ボタンBt4により選択された方の対応を第2サーバ300に送信する。 Here, as shown in FIG. 19, the fourth information processing unit waits until the registration button Bt5 is pressed (step S807: NO), and when the registration button Bt5 is pressed (step S807: YES), it is approved or approved. The remand is transmitted (step S808). More specifically, the fourth information processing unit transmits the correspondence of the one selected by the selection button Bt4 to the second server 300.

一方、図18に示すように、除外申請登録部316は管理者端末400から承認等を受信するまで待機し(ステップS707:NO)、承認等を受信すると(ステップS707:YES)、申請内容を本登録する(ステップS708)。すなわち、除外申請登録部316は対象の除外申請に対して承認が選択された場合には、その除外申請の申請内容を含む除外ルールのステータスを仮登録から受領に書き換える。逆に、除外申請登録部316は対象の除外申請に対して差戻しが選択された場合には、その除外申請の申請内容を含む除外ルールのステータスを仮登録から差戻しに書き換える。これにより、ステータスに受領や差戻しが格納された除外ルールが蓄積される。この除外ルールは次の参考情報の出力の際に利用されるため、適切な参考情報の出力精度が向上する。 On the other hand, as shown in FIG. 18, the exclusion application registration unit 316 waits until the approval or the like is received from the administrator terminal 400 (step S707: NO), and when the approval or the like is received (step S707: YES), the application content is displayed. This registration is performed (step S708). That is, when approval is selected for the target exclusion application, the exclusion application registration unit 316 rewrites the status of the exclusion rule including the application content of the exclusion application from provisional registration to receipt. On the contrary, when the remand is selected for the target exclusion application, the exclusion application registration unit 316 rewrites the status of the exclusion rule including the application content of the exclusion application from the provisional registration to the remand. As a result, exclusion rules that store receipts and remand in the status are accumulated. Since this exclusion rule is used when outputting the next reference information, the output accuracy of appropriate reference information is improved.

このように、管理者は除外申請を行った開発者に例えば電話でその都度申請理由を確認しないで済み、管理者と開発者との間で発生する無駄なコミュニケーションを削減することができる。 In this way, the administrator does not have to confirm the reason for the application each time by calling the developer who made the exclusion application, for example, and it is possible to reduce unnecessary communication between the administrator and the developer.

以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、本実施形態では参考情報として特定の文字列(除外申請推奨及び修正推奨)を表示したが、例えば参考情報を○や×といった記号で表示してもよい。 Although the preferred embodiment of the present invention has been described in detail above, it is not limited to the specific embodiment of the present invention, and various modifications are made within the scope of the gist of the present invention described in the claims.・ Can be changed. For example, in the present embodiment, specific character strings (exclusion application recommendation and correction recommendation) are displayed as reference information, but for example, the reference information may be displayed by symbols such as ○ and ×.

なお、以上の説明に関して更に以下の付記を開示する。
(付記1)複数の階層により階層化されたプログラムの解析結果を取得し、取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、処理をコンピュータに実行させることを特徴とする参考情報出力プログラム。
(付記2)前記参考情報は、前記特定のチェック内容の除外申請を推奨する除外申請推奨の表示、又は、前記プログラムの対応する箇所の修正を推奨する修正推奨の表示を含む、ことを特徴とする付記1に記載の参考情報出力プログラム。
(付記3)前記特定のチェック内容を表示させる際、ユーザの属性を特定し、前記解析結果に含まれるチェック内容のうち、特定した前記属性に対応する他のチェック内容のみ表示させる、ことを特徴とする付記1又は2に記載の参考情報出力プログラム。
(付記4)複数の階層により階層化されたプログラムの解析結果に含まれる特定のチェック内容について除外申請を受け付けると、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請の認否判断に関する参考情報を出力する、処理をコンピュータに実行させることを特徴とする参考情報出力プログラム。
(付記5)前記認否判断に関する参考情報は、承認又は差戻しの選択である、ことを特徴とする付記4に記載の参考情報出力プログラム。
(付記6)複数の階層により階層化されたプログラムの解析結果に含まれる特定のチェック内容について除外申請を受け付けると、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容を特定し、前記複数の階層のうち、前記特定のチェック内容を示す情報と前記同種類のチェック内容を示す情報とのそれぞれを、対応する位置にマッピングした図を出力する、処理をコンピュータに実行させることを特徴とする出力プログラム。
(付記7)複数の階層により階層化されたプログラムの解析結果を取得し、取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、処理をコンピュータが実行することを特徴とする参考情報出力方法。
(付記8)複数の階層により階層化されたプログラムの解析結果に含まれる特定のチェック内容について除外申請を受け付けると、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請の認否判断に関する参考情報を出力する、処理をコンピュータが実行することを特徴とする参考情報出力方法。
(付記9)複数の階層により階層化されたプログラムの解析結果を取得し、取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、処理を実行する処理部を有する参考情報出力装置。
(付記10)前記参考情報は、前記特定のチェック内容の除外申請を推奨する除外申請推奨の表示、又は、前記プログラムの対応する箇所の修正を推奨する修正推奨の表示を含む、ことを特徴とする付記9に記載の参考情報出力装置。
(付記11)前記処理部は、前記特定のチェック内容を表示させる際、ユーザの属性を特定し、前記解析結果に含まれるチェック内容のうち、特定した前記属性に対応する他のチェック内容のみ表示させる、ことを特徴とする付記9又は10に記載の参考情報出力装置。
(付記12)複数の階層により階層化されたプログラムの解析結果に含まれる特定のチェック内容について除外申請を受け付けると、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、前記同種類のチェック内容の除外申請の申請結果と、前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請の認否判断に関する参考情報を出力する、処理を実行する処理部を有する参考情報出力装置。
(付記13)前記認否判断に関する参考情報は、承認又は差戻しの選択である、ことを特徴とする付記12に記載の参考情報出力装置。
The following additional notes will be further disclosed with respect to the above description.
(Appendix 1) When the analysis results of a program layered by a plurality of layers are acquired and the specific check contents included in the acquired analysis results are displayed in association with the corresponding parts of the program in the past. With reference to the storage unit in which the information of the check content exclusion application is stored, the exclusion application of the same type of check content as the specific check content is specified, and the application result of the exclusion application of the same type of check content and the above Reference information regarding the exclusion application for the specific check content according to the difference between the position of the specific check content in the plurality of layers and the position of the check content of the same type in the plurality of layers in the program. A reference information output program that outputs and causes a computer to execute processing.
(Appendix 2) The reference information is characterized in that it includes an exclusion application recommendation display that recommends an exclusion application for the specific check content, or a correction recommendation display that recommends correction of the corresponding part of the program. The reference information output program described in Appendix 1.
(Appendix 3) When displaying the specific check content, the user's attribute is specified, and among the check contents included in the analysis result, only other check contents corresponding to the specified attribute are displayed. The reference information output program described in Appendix 1 or 2.
(Appendix 4) When an exclusion request is received for a specific check content included in the analysis result of a program layered by a plurality of layers, the storage unit in which the information of the exclusion application of the past check content is stored is referred to, and the above The exclusion application of the same type of check content as the specific check content is specified, the application result of the exclusion application of the same type of check content, the position of the specific check content in the plurality of layers, and the check content of the same type. A reference information output program characterized by causing a computer to execute a process that outputs reference information regarding approval / disapproval judgment of an exclusion application for the specific check contents according to the difference from the positions in the plurality of layers. ..
(Appendix 5) The reference information output program according to Appendix 4, wherein the reference information regarding the approval / disapproval judgment is a selection of approval or remand.
(Appendix 6) When an exclusion request is received for a specific check content included in the analysis result of a program layered by a plurality of layers, the storage unit in which the information of the exclusion application of the past check content is stored is referred to, and the above The same type of check content as the specific check content was specified, and the information indicating the specific check content and the information indicating the same type of check content were mapped to the corresponding positions in the plurality of layers. An output program that outputs a diagram and causes a computer to perform processing.
(Appendix 7) When acquiring the analysis results of a program layered by a plurality of layers and displaying the specific check contents included in the acquired analysis results in association with the corresponding parts of the program, the past With reference to the storage unit in which the information of the check content exclusion application is stored, the exclusion application of the same type of check content as the specific check content is specified, and the application result of the exclusion application of the same type of check content and the above Reference information regarding the exclusion application for the specific check content according to the difference between the position of the specific check content in the plurality of layers and the position of the check content of the same type in the plurality of layers in the program. A reference information output method characterized in that a computer executes a process to be output.
(Appendix 8) When an exclusion request is received for a specific check content included in the analysis result of a program layered by a plurality of layers, the storage unit in which the information of the exclusion application of the past check content is stored is referred to, and the above The exclusion application of the same type of check content as the specific check content is specified, the application result of the exclusion application of the same type of check content, the position of the specific check content in the plurality of layers, and the check content of the same type. A reference information output method characterized in that a computer executes a process of outputting reference information regarding approval / disapproval judgment of an exclusion application for the specific check contents according to the difference from the positions in the plurality of layers. ..
(Appendix 9) When acquiring the analysis results of a program layered by a plurality of layers and displaying the specific check contents included in the acquired analysis results in association with the corresponding parts of the program, the past. With reference to the storage unit in which the information of the check content exclusion application is stored, the exclusion application of the same type of check content as the specific check content is specified, and the application result of the exclusion application of the same type of check content and the above Reference information regarding the exclusion application for the specific check content according to the difference between the position of the specific check content in the plurality of layers and the position of the check content of the same type in the plurality of layers in the program. A reference information output device having a processing unit that outputs and executes processing.
(Appendix 10) The reference information is characterized in that it includes an exclusion application recommendation display that recommends an exclusion application for the specific check content, or a correction recommendation display that recommends correction of the corresponding portion of the program. The reference information output device according to Appendix 9.
(Appendix 11) When displaying the specific check content, the processing unit identifies the user's attribute and displays only the other check content corresponding to the specified attribute among the check content included in the analysis result. The reference information output device according to Appendix 9 or 10, wherein the reference information output device is characterized.
(Appendix 12) When an exclusion request is received for a specific check content included in the analysis result of a program layered by a plurality of layers, the storage unit in which the information of the exclusion application of the past check content is stored is referred to, and the above The exclusion application of the same type of check content as the specific check content is specified, the application result of the exclusion application of the same type of check content, the position of the specific check content in the plurality of layers, and the check content of the same type. A reference information output device having a processing unit for executing processing, which outputs reference information regarding approval / disapproval determination of an exclusion application for the specific check contents according to the difference from the positions in the plurality of layers.
(Appendix 13) The reference information output device according to Appendix 12, wherein the reference information regarding the approval / disapproval determination is a selection of approval or remand.

S 参考情報出力システム
100 開発端末
200 第1サーバ
300 第2サーバ
310 第2情報処理部
311 チェック結果登録部
312 チェック結果検索部
313 チェック結果除外部
314 除外ルール履歴解析部
315 除外申請仮登録部
316 除外申請登録部
400 管理者端末
T1 チェック結果テーブル
T2 除外ルールテーブル
S Reference information output system 100 Development terminal 200 1st server 300 2nd server 310 2nd information processing unit 311 Check result registration unit 312 Check result search unit 313 Check result exclusion unit 314 Exclusion rule history analysis unit 315 Exclusion application provisional registration unit 316 Exclusion application registration department 400 Administrator terminal T1 Check result table T2 Exclusion rule table

Claims (5)

複数の階層により階層化されたプログラムに対する静的解析の解析結果を取得し、
取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、
前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、
処理をコンピュータに実行させることを特徴とする参考情報出力プログラム。
Obtain the analysis result of static analysis for a program layered by multiple layers,
When displaying the specific check contents included in the acquired analysis result in association with the corresponding parts of the program, the specific check contents are referred to the storage unit in which the information of the exclusion application of the past check contents is stored. Identify the exclusion application for the same type of check content as the check content,
Depending on the application result of the exclusion application of the same type of check content and the difference between the position of the specific check content in the plurality of layers and the position of the check content of the same type in the plurality of layers in the program. Also, output reference information regarding the exclusion application for the specific check contents.
A reference information output program characterized by having a computer execute processing.
前記参考情報は、前記特定のチェック内容の除外申請を推奨する除外申請推奨の表示、又は、前記プログラムの対応する箇所の修正を推奨する修正推奨の表示を含む、
ことを特徴とする請求項1に記載の参考情報出力プログラム。
The reference information includes an exclusion application recommendation display that recommends an exclusion application for the specific check content, or a modification recommendation display that recommends modification of the corresponding portion of the program.
The reference information output program according to claim 1.
前記静的解析は、前記プログラムの品質に関する問題を発見し、前記問題に応じた指摘を表すメッセージを前記チェック内容として含む解析結果をフィードバックし、
前記特定のチェック内容は、無駄な指摘に関する、
ことを特徴とする請求項1に記載の参考情報出力プログラム。
The static analysis finds a problem related to the quality of the program, feeds back the analysis result including a message indicating an indication corresponding to the problem as the check content, and feeds back the analysis result.
The specific check contents are related to useless indications.
The reference information output program according to claim 1.
複数の階層により階層化されたプログラムに対する静的解析の解析結果を取得し、
取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、
前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、
処理をコンピュータが実行することを特徴とする参考情報出力方法。
Obtain the analysis result of static analysis for a program layered by multiple layers,
When displaying the specific check contents included in the acquired analysis result in association with the corresponding parts of the program, the specific check contents are referred to the storage unit in which the information of the exclusion application of the past check contents is stored. Identify the exclusion application for the same type of check content as the check content,
Depending on the application result of the exclusion application of the same type of check content and the difference between the position of the specific check content in the plurality of layers and the position of the check content of the same type in the plurality of layers in the program. Also, output reference information regarding the exclusion application for the specific check contents.
A reference information output method characterized in that a computer executes processing.
複数の階層により階層化されたプログラムに対する静的解析の解析結果を取得し、
取得した前記解析結果に含まれる特定のチェック内容を、前記プログラムの対応する箇所と対応付けて表示させる際、過去のチェック内容の除外申請の情報が記憶された記憶部を参照し、前記特定のチェック内容と同種類のチェック内容の除外申請を特定し、
前記同種類のチェック内容の除外申請の申請結果と、前記プログラムにおける前記特定のチェック内容の前記複数の階層における位置と前記同種類のチェック内容の前記複数の階層における位置との差分と、に応じた、前記特定のチェック内容についての除外申請に関する参考情報を出力する、
処理を実行する処理部を有する参考情報出力装置。
Obtain the analysis result of static analysis for a program layered by multiple layers,
When displaying the specific check contents included in the acquired analysis result in association with the corresponding parts of the program, the specific check contents are referred to the storage unit in which the information of the exclusion application of the past check contents is stored. Identify the exclusion application for the same type of check content as the check content,
Depending on the application result of the exclusion application of the same type of check content and the difference between the position of the specific check content in the plurality of layers and the position of the check content of the same type in the plurality of layers in the program. Also, output reference information regarding the exclusion application for the specific check contents.
A reference information output device having a processing unit that executes processing.
JP2016180869A 2016-09-15 2016-09-15 Reference information output program, reference information output method, and reference information output device Expired - Fee Related JP6840966B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016180869A JP6840966B2 (en) 2016-09-15 2016-09-15 Reference information output program, reference information output method, and reference information output device
US15/651,890 US10318258B2 (en) 2016-09-15 2017-07-17 Reference information output method and reference information output device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016180869A JP6840966B2 (en) 2016-09-15 2016-09-15 Reference information output program, reference information output method, and reference information output device

Publications (2)

Publication Number Publication Date
JP2018045525A JP2018045525A (en) 2018-03-22
JP6840966B2 true JP6840966B2 (en) 2021-03-10

Family

ID=61559998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016180869A Expired - Fee Related JP6840966B2 (en) 2016-09-15 2016-09-15 Reference information output program, reference information output method, and reference information output device

Country Status (2)

Country Link
US (1) US10318258B2 (en)
JP (1) JP6840966B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111766848B (en) * 2020-06-29 2021-09-10 北京广利核系统工程有限公司 Method and device for verifying failure rate of subsystem in instrument control system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7478385B2 (en) * 2003-01-17 2009-01-13 National Instruments Corporation Installing software using programmatic component dependency analysis
WO2004081758A2 (en) * 2003-03-12 2004-09-23 Digex, Inc. System and method for maintaining installed software compliance with build standards
ATE401853T1 (en) * 2003-08-12 2008-08-15 Koninkl Philips Electronics Nv CLOSURE DEVICE FOR A CONTAINER
US7574706B2 (en) * 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
JP2006092475A (en) * 2004-09-27 2006-04-06 Hitachi Software Eng Co Ltd Source code inspection system
US20060075001A1 (en) * 2004-09-30 2006-04-06 Canning Jeffrey C System, method and program to distribute program updates
US7555551B1 (en) * 2005-04-13 2009-06-30 Symantec Corporation Automatic controllable deployment of software updates
US7774760B2 (en) * 2005-12-23 2010-08-10 Microsoft Corporation Tracing errors in software
US20100002392A1 (en) * 2008-07-07 2010-01-07 I-Ming Liu Assembled Heat Sink Structure
US8347272B2 (en) * 2008-07-23 2013-01-01 International Business Machines Corporation Call graph dependency extraction by static source code analysis
JP5335885B2 (en) 2011-12-26 2013-11-06 みずほ情報総研株式会社 Analysis result evaluation system, analysis result evaluation method, and analysis result evaluation program
JP5901668B2 (en) 2013-02-28 2016-04-13 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited System and method for grouping warnings generated during static analysis

Also Published As

Publication number Publication date
JP2018045525A (en) 2018-03-22
US10318258B2 (en) 2019-06-11
US20180074801A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
JP5775255B2 (en) Integrated design application
US20150222731A1 (en) Computer, guide information providing method and recording medium
US20140129924A1 (en) System and method for creation of templates
EP1509854A2 (en) Electronic data capture and verification
US9342300B2 (en) Analyzing components related to a software application in a software development environment
EP3314409B1 (en) Tracing dependencies between development artifacts in a software development project
US12354018B2 (en) Prediction management system, prediction management method, data structure, prediction management device and prediction execution device
JP2018106306A (en) Game development system
US20190220549A1 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
JPWO2011118003A1 (en) Web application construction system, web application construction method, web application construction program, and recording medium recording web application construction program
CN108885444B (en) Information management apparatus, information management method, and information management system
US20080062195A1 (en) Method for coordinated drawing review of realted cad drawings
JP6840966B2 (en) Reference information output program, reference information output method, and reference information output device
JP2017072957A (en) File edition method, file edition device and file edition program
JP5532052B2 (en) Evaluation model analysis system, evaluation model analysis method and program
JP4648194B2 (en) Printed circuit board design instruction support method and apparatus
JP2019159405A (en) Gui test device, gui test method and program
JP2016143106A (en) Business influence portion extraction method based on business variation and business influence portion extraction device
EP4315070B1 (en) Automatic testing of interrelated components of a software application
US20180218012A1 (en) Database construction device, database construction method, and database construction program
JP4849841B2 (en) PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM
JP6552162B2 (en) Information processing apparatus, information processing method, and program
JP2009003792A (en) Product-containing chemical substance evaluation apparatus and product-containing chemical substance evaluation method in configuration service
CN113656022A (en) Software development method and device, computer equipment and storage medium
CN112446196A (en) File revision method, device and equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201126

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: 20210119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210201

R150 Certificate of patent or registration of utility model

Ref document number: 6840966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees