JP2016018307A - 開発支援プログラム,開発支援方法及び開発支援装置 - Google Patents
開発支援プログラム,開発支援方法及び開発支援装置 Download PDFInfo
- Publication number
- JP2016018307A JP2016018307A JP2014139439A JP2014139439A JP2016018307A JP 2016018307 A JP2016018307 A JP 2016018307A JP 2014139439 A JP2014139439 A JP 2014139439A JP 2014139439 A JP2014139439 A JP 2014139439A JP 2016018307 A JP2016018307 A JP 2016018307A
- Authority
- JP
- Japan
- Prior art keywords
- source code
- description
- specifying information
- line
- development support
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出し,第2の問題箇所が記述されているサブルーチンの先頭から少なくとも第2の問題箇所までの記述を特定する第2の記述特定情報を生成し,第2のソースコードを解析して検出した第2の問題箇所の第2の記述特定情報が,第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,第2の問題箇所を,第2のソースコードの問題箇所としての出力の対象から除外する,処理をコンピュータに実行させるコンピュータ読み取り可能な開発支援プログラム。
【選択図】図3
Description
第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出し,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成し,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する,
処理をコンピュータに実行させるコンピュータ読み取り可能な開発支援プログラムである。
MethodDeclaration : Type MethodName'(' FormalParameterListopt ')'{' BlockStatementsopt '}'
そこで,開発支援装置は,第2のソースコード24を構文解析し,ソースコード内の要素に分解し,上記のメソッドの宣言文と一致する要素群の記述を検出する。図5には,検出されたメソッドの宣言文の記述を要素に分解した表51が示される。このように,BNF定義によるメソッド宣言文と一致するソースコードの要素群が検出されると,そのソースコードがメソッド宣言文として判定される。このようなBNFを利用した構文解析を行うことで,問題箇所を含むサブルーチンを検出できる。
図7は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第1の例を示す図である。図7には,図3,図4の開発支援プログラムにより解析された第1,第2のソースコード21,24の例と,生成された第1,第2の問題箇所出力データ22,26の例が示されている。この例において,第2の問題箇所出力データ26から第1の問題箇所出力データ22と重複する問題箇所を除外する処理について説明する。
図8は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第2の例を示す図である。図8には,図3,図4の開発支援プログラムにより解析された第1,第2のソースコードの例と,生成された第1,第2の問題箇所出力データの例が示されている。この例において,第2の問題箇所出力データから第1の問題箇所出力データと重複する問題箇所を除外する処理について説明する。
図9は,図4の工程S44について説明する別の図である。図9には,第2のソースコード24の例として,1行目にサブルーチンvoid func02が示され,サブルーチンvoid func02内の4行目のif文が問題箇所として検出される例が示されている。この例では,4行目のif文の問題箇所の記述が,3行目〜5行目のfor文からなるループ内の記述されている。
図10は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第3の例を示す図である。図10には,図3,図4の開発支援プログラムにより解析された第1,第2のソースコード21,24の例と,生成された第1,第2の問題箇所出力データ22,26の例が示されている。この例は,問題箇所がループ内に記述されている例である。この例において,第2の問題箇所出力データから第1の問題箇所出力データと重複する問題箇所を除外する処理について説明する。
図11は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第4の例を示す図である。図11には,図3,図4の開発支援プログラムにより解析された第1,第2のソースコード21,24の例と,生成された第1,第2の問題箇所出力データ22,26の例が示されている。この例は,問題箇所の対象記述が同じでも異なるサブルーチン内の場合は,異なる問題箇所として除外されない例である。この例において,第2の問題箇所出力データから第1の問題箇所出力データと重複する問題箇所を除外する処理について説明する。
図12は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第5の例を示す図である。第1のソースコード21は,4行目のif文を問題が疑われる問題箇所として有している。
図13は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第6の例を示す図である。第1のソースコード21は,4行目のif文と7行目のif文を問題が疑われる問題箇所として有している。
図15は,本実施の形態における第1,第2のソースコードとその第1,第2の問題箇所出力データの第7の例を示す図である。この例は,図14のフローチャートにしたがって第2の問題箇所出力データから新規に検出された問題箇所と問題指摘文のデータを除外することが防止される。
第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出し,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成し,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する,
処理をコンピュータに実行させるコンピュータ読み取り可能な開発支援プログラム。
付記1において,
前記第2の記述特定情報を生成する工程において,前記第2の問題箇所の記述が繰り返し制御記述内に含まれる場合は,前記第2の記述特定情報として,前記第2の問題箇所が記述されているサブルーチンの先頭から前記第2の問題箇所の記述を含む前記繰り返し制御記述の最後までの記述を特定する記述特定情報を生成する,開発支援プログラム。
付記1または2において,
さらに,
前記第2の問題箇所の問題を記述する第2の問題指摘文を生成し,
前記出力として,前記第2の問題箇所と前記第2の問題指摘文とを出力し,
前記出力の対象から除外する工程において,前記第2の記述特定情報が前記第1の記述特定情報と一致することに加えて,前記第2の問題箇所の第2の問題指摘文と前記第1の問題箇所に対応する第1の問題指摘文とが一致する場合に,前記第2の問題箇所を,前記出力の対象から除外する,開発支援プログラム。
付記3において,
前記出力の対象から除外する工程において,前記第2の記述特定情報が前記第1の記述特定情報と一致することと,前記第2の問題指摘文と前記第1の問題指摘文とが一致することに加えて,前記第2のソースコードのファイル名と前記第2のソースコードのファイル名が一致する場合に,前記第2の問題箇所を,前記出力の対象から除外する,開発支援プログラム。
付記1または2において,
前記第1,第2の記述特定情報は,特定対象であるソースコードの記述のハッシュ値,符号化コードのいずれかであり,且つ前記特定対象であるソースコードの記述よりもデータ量が少ない,開発支援プログラム。
付記1または2において,
前記出力の対象から除外する工程において,前記第2の記述特定情報が,前記第1のソースコードを解析して検出された複数の第1の問題箇所に対応する第1の記述特定情報のいずれかと一致する場合に,当該一致した第2の問題箇所を,前記出力の対象から除外し,前記第2の記述特定情報が,前記複数の第1の問題箇所に対応する第1の記述特定情報の全てと不一致の場合に,前記出力の対象に含める,開発支援プログラム。
付記1または2において,
前記サブルーチンは,一連の処理を記述するソースコードのブロックであり,メソッド,関数を含む,開発支援プログラム。
付記1または2において,
前記問題箇所を検出する工程において,設定された解析対象に基づいて前記ソースコードに問題がある場合に問題箇所として検出する,開発支援プログラム。
第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出し,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成し,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する,
処理を有する開発支援方法。
付記9において,
前記第2の記述特定情報を生成する工程において,前記第2の問題箇所の記述が繰り返し制御記述内に含まれる場合は,前記第2の記述特定情報として,前記第2の問題箇所が記述されているサブルーチンの先頭から前記第2の問題箇所の記述を含む前記繰り返し制御記述の最後までの記述を特定する記述特定情報を生成する,開発支援方法。
第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出する手段と,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成する手段と,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する手段と,を有する開発支援装置。
21:第1のソースコード
22:第1のソースコードの問題箇所出力データ
24:第2のソースコード
26:第2のソースコードの問題箇所出力データ
30:問題箇所
32:問題指摘文
34:記述特定情報
Claims (8)
- 第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出し,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成し,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する,
処理をコンピュータに実行させるコンピュータ読み取り可能な開発支援プログラム。 - 請求項1において,
前記第2の記述特定情報を生成する工程において,前記第2の問題箇所の記述が繰り返し制御記述内に含まれる場合は,前記第2の記述特定情報として,前記第2の問題箇所が記述されているサブルーチンの先頭から前記第2の問題箇所の記述を含む前記繰り返し制御記述の最後までの記述を特定する記述特定情報を生成する,開発支援プログラム。 - 請求項1または2において,
さらに,
前記第2の問題箇所の問題を記述する第2の問題指摘文を生成し,
前記出力として,前記第2の問題箇所と前記第2の問題指摘文とを出力し,
前記出力の対象から除外する工程において,前記第2の記述特定情報が前記第1の記述特定情報と一致することに加えて,前記第2の問題箇所の第2の問題指摘文と前記第1の問題箇所に対応する第1の問題指摘文とが一致する場合に,前記第2の問題箇所を,前記出力の対象から除外する,開発支援プログラム。 - 請求項3において,
前記出力の対象から除外する工程において,前記第2の記述特定情報が前記第1の記述特定情報と一致することと,前記第2の問題指摘文と前記第1の問題指摘文とが一致することに加えて,前記第2のソースコードのファイル名と前記第2のソースコードのファイル名が一致する場合に,前記第2の問題箇所を,前記出力の対象から除外する,開発支援プログラム。 - 請求項1または2において,
前記第1,第2の記述特定情報は,特定対象であるソースコードの記述のハッシュ値,符号化コードのいずれかであり,且つ前記特定対象であるソースコードの記述よりもデータ量が少ない,開発支援プログラム。 - 請求項1または2において,
前記出力の対象から除外する工程において,前記第2の記述特定情報が,前記第1のソースコードを解析して検出された複数の第1の問題箇所に対応する第1の記述特定情報のいずれかと一致する場合に,当該一致した第2の問題箇所を,前記出力の対象から除外し,前記第2の記述特定情報が,前記複数の第1の問題箇所に対応する第1の記述特定情報の全てと不一致の場合に,前記出力の対象に含める,開発支援プログラム。 - 第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出し,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成し,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する,
処理を有する開発支援方法。 - 第1のソースコードを更新して生成された第2のソースコードを解析して第2の問題箇所を検出する手段と,
前記第2の問題箇所が記述されているサブルーチンの先頭から少なくとも前記第2の問題箇所までの記述を特定する第2の記述特定情報を生成する手段と,
前記第2のソースコードを解析して検出した前記第2の問題箇所に対応する前記第2の記述特定情報が,前記第1のソースコードを解析して検出された第1の問題箇所に対応する第1の記述特定情報と一致する場合に,前記第2の問題箇所を,前記第2のソースコードの問題箇所としての出力の対象から除外する手段と,を有する開発支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014139439A JP6369177B2 (ja) | 2014-07-07 | 2014-07-07 | 開発支援プログラム,開発支援方法及び開発支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014139439A JP6369177B2 (ja) | 2014-07-07 | 2014-07-07 | 開発支援プログラム,開発支援方法及び開発支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016018307A true JP2016018307A (ja) | 2016-02-01 |
JP6369177B2 JP6369177B2 (ja) | 2018-08-08 |
Family
ID=55233509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014139439A Expired - Fee Related JP6369177B2 (ja) | 2014-07-07 | 2014-07-07 | 開発支援プログラム,開発支援方法及び開発支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6369177B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017151594A (ja) * | 2016-02-23 | 2017-08-31 | 日本電気株式会社 | 支援装置、支援方法及びプログラム |
JP2021002137A (ja) * | 2019-06-20 | 2021-01-07 | 株式会社日立社会情報サービス | 欠陥検出装置、欠陥検出方法、及び欠陥検出プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126866A (ja) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 記述出力抑制プログラム解析装置及び記述出力抑制プログラム解析方法 |
JP2013045307A (ja) * | 2011-08-24 | 2013-03-04 | Nec Corp | 静的解析システム、静的解析結果表示方法及びプログラム |
JP2014010699A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 更新判定プログラムおよび更新判定装置 |
-
2014
- 2014-07-07 JP JP2014139439A patent/JP6369177B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004126866A (ja) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 記述出力抑制プログラム解析装置及び記述出力抑制プログラム解析方法 |
JP2013045307A (ja) * | 2011-08-24 | 2013-03-04 | Nec Corp | 静的解析システム、静的解析結果表示方法及びプログラム |
JP2014010699A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 更新判定プログラムおよび更新判定装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017151594A (ja) * | 2016-02-23 | 2017-08-31 | 日本電気株式会社 | 支援装置、支援方法及びプログラム |
JP2021002137A (ja) * | 2019-06-20 | 2021-01-07 | 株式会社日立社会情報サービス | 欠陥検出装置、欠陥検出方法、及び欠陥検出プログラム |
JP7261101B2 (ja) | 2019-06-20 | 2023-04-19 | 株式会社日立社会情報サービス | 欠陥検出装置、欠陥検出方法、及び欠陥検出プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP6369177B2 (ja) | 2018-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9389849B2 (en) | Test case pattern matching | |
JP6287549B2 (ja) | ソースコードをポーティングする方法及び装置 | |
US9256419B2 (en) | Dynamic software updates | |
US8230397B2 (en) | Automated solution that detects configuration problems in an eclipse-based software application | |
US20120304153A1 (en) | Context-sensitive analysis framework using value flows | |
US20220083450A1 (en) | Automated bug fixing using deep learning | |
US9304893B1 (en) | Integrated software development and test case management system | |
US20140068559A1 (en) | Annotation-based infrastructure for automatically generating "predictable" ids for visual components in a web-application | |
US8627286B2 (en) | Fully declarative build system for build optimization | |
CN106406918B (zh) | 源代码自动合并方法和源代码自动合并装置 | |
US8296254B2 (en) | Data flow analyzing apparatus, data flow analyzing method and data flow analyzing program | |
US20020194579A1 (en) | Code verification system and method | |
JP5845888B2 (ja) | ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム | |
KR20140050323A (ko) | 라이선스 검증 방법 및 그 장치 | |
US9557965B2 (en) | Method for programming language dependent merging of program codes | |
JP6369177B2 (ja) | 開発支援プログラム,開発支援方法及び開発支援装置 | |
JP5369565B2 (ja) | プログラムのエラー情報出力装置、エラー情報出力方法およびエラー情報出力プログラム | |
JP7384054B2 (ja) | 自動化されたソフトウェアプログラム修復 | |
CN110286912B (zh) | 代码检测方法、装置及电子设备 | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
JP2020129372A (ja) | 自動化されたソフトウェアプログラム修復 | |
US20050010895A1 (en) | Software Specification Processing System | |
CN109597638B (zh) | 基于实时计算引擎解决数据处理、设备联动的方法及装置 | |
JP6748357B2 (ja) | 解析装置、解析プログラムおよび解析方法 | |
Hamilton | Extracting the essence of distillation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180124 |
|
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: 20180612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6369177 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |