JP5725359B2 - ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム - Google Patents
ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム Download PDFInfo
- Publication number
- JP5725359B2 JP5725359B2 JP2011204924A JP2011204924A JP5725359B2 JP 5725359 B2 JP5725359 B2 JP 5725359B2 JP 2011204924 A JP2011204924 A JP 2011204924A JP 2011204924 A JP2011204924 A JP 2011204924A JP 5725359 B2 JP5725359 B2 JP 5725359B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- source code
- correction
- component
- analysis result
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
なお、上述した実施形態は、単なる例示に過ぎず、実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
2…入力装置
3…記憶装置
4…出力装置
11…差分抽出部
12…構文解析部
13…機能解析部
14…修正履歴登録部
15…比較結果出力部
31…修正履歴テーブル
Claims (8)
- 修正前のソースコードと修正後のソースコードとを比較して差分を抽出する差分抽出部と、
前記差分抽出部により抽出された前記差分を、ソースコードに使用可能な構成要素ごとに分割し、当該分割した後の差分である分割差分と前記構成要素とを対応付けた構文解析結果を生成する構文解析部と、
前記構文解析結果に含まれる前記分割差分と前記構成要素との組に対応付けて機能区分を設定することで機能解析結果を生成する機能解析部と、
前記機能解析結果に含まれる前記分割差分および前記機能区分を用いて、修正前のソースコードと修正後のソースコードとの比較結果を出力する出力部と、を備え、
前記機能解析部は、前記構文解析結果に含まれる前記構成要素が、過去にソースコードを比較した結果に基づいて蓄積された修正履歴に存在する場合に、当該構成要素に対応付けて前記修正履歴に設定されている前記機能区分を、当該構成要素に対応する前記機能解析結果の前記機能区分に設定する、ことを特徴とするソースコード比較装置。 - 前記機能解析部は、前記構文解析結果に含まれる前記構成要素が前記修正履歴に存在しない場合に、前記修正履歴に存在しないことを示す区分を、当該構成要素に対応する前記機能解析結果の前記機能区分に仮設定するとともに、前記仮設定した前記機能区分に対する入力をユーザに促す、ことを特徴とする請求項1記載のソースコード比較装置。
- 前記機能解析部は、前記仮設定した前記機能区分に対する入力をユーザから受け付けた場合に、前記仮設定した前記機能区分を、入力された前記機能区分に変更することで、前記機能解析結果を更新する、ことを特徴とする請求項2記載のソースコード比較装置。
- 前記修正履歴を参照し、前記機能区分ごとに、前記構成要素が当該機能区分に属する前記構成要素として修正される割合を算出し、当該割合が所定の閾値以上となる前記構成要素が、前記機能解析結果の当該機能区分に対応する前記構成要素として設定されていない場合に、修正が妥当ではない旨をユーザに通知する妥当性検査部を、さらに備えることを特徴とする請求項1〜3のいずれか1項に記載のソースコード比較装置。
- 前記機能解析部により生成される前記機能解析結果を、前記修正履歴として記憶装置に記憶させる修正履歴登録部を、さらに備えることを特徴とする請求項1〜4のいずれか1項に記載のソースコード比較装置。
- 前記機能解析部により生成される前記機能解析結果を、前記修正履歴として修正後のソースコードに組み込む修正履歴組込部を、さらに備えることを特徴とする請求項1〜4のいずれか1項に記載のソースコード比較装置。
- 修正前のソースコードと修正後のソースコードとを比較して差分を抽出する差分抽出ステップと、
前記差分抽出ステップにおいて抽出された前記差分を、ソースコードに使用可能な構成要素ごとに分割し、当該分割した後の差分である分割差分と前記構成要素とを対応付けた構文解析結果を生成する構文解析ステップと、
前記構文解析結果に含まれる前記分割差分と前記構成要素との組に対応付けて機能区分を設定することで機能解析結果を生成する機能解析ステップと、
前記機能解析結果に含まれる前記分割差分および前記機能区分を用いて、修正前のソースコードと修正後のソースコードとの比較結果を出力する出力ステップと、を含み、
前記機能解析ステップは、前記構文解析結果に含まれる前記構成要素が、過去にソースコードを比較した結果に基づいて蓄積された修正履歴に存在する場合に、当該構成要素に対応付けて前記修正履歴に設定されている前記機能区分を、当該構成要素に対応する前記機能解析結果の前記機能区分に設定する、ことを特徴とするソースコード比較方法。 - 請求項7に記載の各ステップをコンピュータに実行させるためのソースコード比較プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011204924A JP5725359B2 (ja) | 2011-09-20 | 2011-09-20 | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム |
US13/591,854 US8752009B2 (en) | 2011-09-20 | 2012-08-22 | Source code comparison device, source code comparison method and source code comparison program |
CN2012103109308A CN103019666A (zh) | 2011-09-20 | 2012-08-28 | 源代码比较设备、源代码比较方法和源代码比较程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011204924A JP5725359B2 (ja) | 2011-09-20 | 2011-09-20 | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013065267A JP2013065267A (ja) | 2013-04-11 |
JP5725359B2 true JP5725359B2 (ja) | 2015-05-27 |
Family
ID=47881878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011204924A Expired - Fee Related JP5725359B2 (ja) | 2011-09-20 | 2011-09-20 | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8752009B2 (ja) |
JP (1) | JP5725359B2 (ja) |
CN (1) | CN103019666A (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8533668B2 (en) * | 2010-04-26 | 2013-09-10 | Red Hat, Inc. | Comparing source code using code statement structures |
JP5725359B2 (ja) * | 2011-09-20 | 2015-05-27 | 日本電気株式会社 | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム |
US9785302B2 (en) * | 2013-03-14 | 2017-10-10 | Microsoft Technology Licensing, Llc | Inline display and preview of related information for elements in a document |
US9311077B2 (en) * | 2013-03-29 | 2016-04-12 | International Business Machines Corporation | Identification of code changes using language syntax and changeset data |
CN103617122B (zh) * | 2013-12-12 | 2016-03-30 | 用友网络科技股份有限公司 | 一种源代码的比对方法 |
KR101623174B1 (ko) * | 2014-08-27 | 2016-05-20 | 주식회사 파수닷컴 | 소스 코드 분석 장치, 이를 위한 컴퓨터 프로그램, 그 기록매체 |
JP2018093412A (ja) * | 2016-12-06 | 2018-06-14 | 株式会社日立製作所 | 演算装置、送信プログラム、送信方法 |
CN107577476A (zh) * | 2017-08-07 | 2018-01-12 | 中国科学院软件研究所 | 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质 |
JP2019219848A (ja) * | 2018-06-19 | 2019-12-26 | クラリオン株式会社 | ソースコード解析方法およびソースコード解析装置 |
US11037078B2 (en) | 2018-06-27 | 2021-06-15 | Software.co Technologies, Inc. | Adjusting device settings based upon monitoring source code development processes |
CN109542508B (zh) * | 2018-10-18 | 2020-12-29 | 华中科技大学 | 一种基于函数调用关系图的代码同源性分析方法 |
US11416245B2 (en) | 2019-12-04 | 2022-08-16 | At&T Intellectual Property I, L.P. | System and method for syntax comparison and analysis of software code |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3711863A (en) * | 1972-01-21 | 1973-01-16 | Honeywell Inf Systems | Source code comparator computer program |
US4048728A (en) * | 1973-09-12 | 1977-09-20 | Systex, Inc. | Training system for telephone switchboard operators using computer central processing unit |
US5201050A (en) * | 1989-06-30 | 1993-04-06 | Digital Equipment Corporation | Line-skip compiler for source-code development system |
US5485409A (en) * | 1992-04-30 | 1996-01-16 | International Business Machines Corporation | Automated penetration analysis system and method |
JPH08194611A (ja) | 1995-01-19 | 1996-07-30 | Hitachi Ltd | プログラム修正による影響範囲を解析する装置 |
US7430670B1 (en) * | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
US6804682B1 (en) * | 2002-04-29 | 2004-10-12 | Borland Software Corporation | System and methodology providing compiler-assisted refactoring |
US7496892B2 (en) * | 2003-05-06 | 2009-02-24 | Andrew Nuss | Polymorphic regular expressions |
US20050015752A1 (en) * | 2003-07-15 | 2005-01-20 | International Business Machines Corporation | Static analysis based error reduction for software applications |
US7503035B2 (en) * | 2003-11-25 | 2009-03-10 | Software Analysis And Forensic Engineering Corp. | Software tool for detecting plagiarism in computer source code |
JP4360942B2 (ja) * | 2004-03-05 | 2009-11-11 | 三菱電機株式会社 | ソフトウェア開発支援装置 |
US7624304B2 (en) * | 2004-10-07 | 2009-11-24 | Microsoft Corporation | Defect detection for integers |
JP2006277127A (ja) * | 2005-03-28 | 2006-10-12 | Canon Inc | 修正プログラムの比較方法 |
US7707552B2 (en) * | 2005-10-17 | 2010-04-27 | International Business Machines Corporation | Method and system for autonomically prioritizing software defects |
US20080196000A1 (en) * | 2007-02-14 | 2008-08-14 | Fernandez-Lvern Javier | System and method for software development |
US20090044177A1 (en) * | 2007-08-09 | 2009-02-12 | Cary Lee Bates | Method and apparatus for profile enhanced source code analyzer results |
US8352921B2 (en) * | 2007-11-02 | 2013-01-08 | Klocwork Corp. | Static analysis defect detection in the presence of virtual function calls |
JP2009169724A (ja) * | 2008-01-17 | 2009-07-30 | Nomura Research Institute Ltd | 保守支援装置 |
CN100576172C (zh) * | 2008-05-27 | 2009-12-30 | 华耀环宇科技(北京)有限公司 | 一种通过分析代码变化确定功能点变化的方法 |
US8099721B2 (en) * | 2008-06-17 | 2012-01-17 | Microsoft Corporation | Parsing of declarations in all branches of preprocessor conditionals |
JP2010186378A (ja) * | 2009-02-13 | 2010-08-26 | Hitachi Ltd | ソフトウェアのバージョン間の差分表示システム及び方法 |
US8806441B2 (en) * | 2009-06-29 | 2014-08-12 | International Business Machines Corporation | Static code analysis |
US9507699B2 (en) * | 2011-06-16 | 2016-11-29 | Microsoft Technology Licensing, Llc | Streamlined testing experience |
JP5725359B2 (ja) * | 2011-09-20 | 2015-05-27 | 日本電気株式会社 | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム |
-
2011
- 2011-09-20 JP JP2011204924A patent/JP5725359B2/ja not_active Expired - Fee Related
-
2012
- 2012-08-22 US US13/591,854 patent/US8752009B2/en not_active Expired - Fee Related
- 2012-08-28 CN CN2012103109308A patent/CN103019666A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US8752009B2 (en) | 2014-06-10 |
JP2013065267A (ja) | 2013-04-11 |
US20130074035A1 (en) | 2013-03-21 |
CN103019666A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5725359B2 (ja) | ソースコード比較装置、ソースコード比較方法およびソースコード比較プログラム | |
CN111767057B (zh) | 一种数据处理方法及装置 | |
JP4396994B2 (ja) | リソース・ファイルの翻訳検証方法、装置、およびプログラム | |
US9811449B2 (en) | Test scenario generation support device and test scenario generation support method | |
JP2007034813A (ja) | 複数自然言語のソフトウェア説明書生成システム | |
US8387010B2 (en) | Automatic software configuring system | |
US10261884B2 (en) | Method for correcting violation of source code and computer readable recording medium having program performing the same | |
CN110618941B (zh) | 一种界面元素处理方法及装置 | |
US20080022263A1 (en) | Identifying The Origin Of Application Resources | |
JP5747698B2 (ja) | 要件管理支援装置 | |
CN113033177B (zh) | 一种电子病历数据的解析方法及装置 | |
JP2013077124A (ja) | ソフトウェアテストケース生成装置 | |
US9430451B1 (en) | Parsing author name groups in non-standardized format | |
EP2535813A1 (en) | Method and device for generating an alert during an analysis of performance of a computer application | |
JP4484791B2 (ja) | 検証データ生成装置および検証データ生成プログラム、検証データ生成方法 | |
US8645908B2 (en) | Method for generating specifications of static test | |
US7979476B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP5123337B2 (ja) | 検証データ生成装置、検証データ生成プログラム及び検証データ生成方法 | |
JP2007241347A (ja) | プログラムの品質管理装置、及びプログラムの品質管理レポートの生成方法 | |
JP2008020972A (ja) | ソフトウエア解析システム | |
JP2007310829A (ja) | データ処理装置、データ処理方法およびデータ処理プログラム | |
JP2013206310A (ja) | モデル検査装置、モデル検査方法、およびプログラム | |
US9171106B2 (en) | Apparatus and method to collect and condense design violations from output data files | |
US20130091423A1 (en) | Method and Apparatus for Checking a Structure Conformity for a Piece Of Development Documentation with at Least One Development Document | |
JP6606028B2 (ja) | 文書不備検出プログラム、文書不備検出装置および文書不備検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140806 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150220 |
|
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: 20150305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150318 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5725359 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |