JP6121558B2 - プログラム図作成装置、プログラム図作成方法、及びプログラム図作成プログラム - Google Patents
プログラム図作成装置、プログラム図作成方法、及びプログラム図作成プログラム Download PDFInfo
- Publication number
- JP6121558B2 JP6121558B2 JP2015544745A JP2015544745A JP6121558B2 JP 6121558 B2 JP6121558 B2 JP 6121558B2 JP 2015544745 A JP2015544745 A JP 2015544745A JP 2015544745 A JP2015544745 A JP 2015544745A JP 6121558 B2 JP6121558 B2 JP 6121558B2
- Authority
- JP
- Japan
- Prior art keywords
- source code
- module
- implemented
- importance
- lines
- 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
- 238000000034 method Methods 0.000 title claims description 68
- 238000011161 development Methods 0.000 claims description 75
- 238000012423 maintenance Methods 0.000 claims description 46
- 238000012800 visualization Methods 0.000 claims description 45
- 125000004122 cyclic group Chemical group 0.000 claims description 29
- 238000012937 correction Methods 0.000 description 17
- 230000010365 information processing Effects 0.000 description 11
- 238000007405 data analysis Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012552 review Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Images
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/77—Software metrics
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
101 中央処理装置
102 入力装置
103 二次記憶装置
104 主記憶装置
105 表示装置
106 バス
107 通信装置
110 情報装置A
120 情報装置B
130 通信ネットワーク
200 ソースコード取得部
201 リポジトリ取得部
202 データ解析部
203 可視化判定部
204 描画指示部
205 プログラム図作成制御部
206 ソースコード群
207 ソースコードA
208 リポジトリ
209 ソースコードAの開発・保守データ
212 開発スキル値算出利用表
213 モジュール重要度算出式データ
214 可視化判定閾値データ
215 モジュール別重要度データ
216 開発者別開発スキルデータ。
Claims (12)
- 複数のモジュールを構成するソースコードと、前記ソースコードが関係するプロジェクトと前記ソースコードの開発または保守データとを示すリポジトリとを記憶する記憶部と、
指定されたソースコードと該ソースコードに関するリポジトリとを取得し、該ソースコードが関係するプロジェクトに関わる開発者または保守者のスキルを示すスキル値を、スキル値算出式により、前記開発者または保守者ごとに算出するスキル値算出部と、
算出された前記スキル値の中から前記各モジュールの実装に関わる開発者または保守者の前記スキル値を取得し、該スキル値に基づいて、前記モジュールの重要度を示すモジュール重要度を、重要度算出式により、前記モジュールごとに算出する重要度算出部と、
前記モジュールごとに、前記モジュール重要度が所定の閾値以上であるか否かを判定し、前記モジュール重要度が所定の閾値以上であると判定されたモジュールを表示部に表示して可視化する可視化判定部と、
を備えることを特徴とするプログラム図作成装置。 - 前記スキル値算出部は、前記スキル値算出式により、
(a)実装総行数に対するバグ数の逆数、
(b)実装総行数に対するコード規約違反数の逆数、
(c)実装総行数に対するバグ数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(d)実装総行数に対するコード規約違反数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(e)ソースコードの実装期間に対する実装行数、
(f)ソースコードの実装期間に対する実装行数を、実装したソースコードの循環的複雑度で乗算した値、及び、
(g)ソースコードの実装期間において、同時に実装されたソースコードの数、
を前記スキル値として算出する、
ことを特徴とする請求項1記載のプログラム図作成装置。 - 前記スキル値算出部は、前記プログラム図作成装置の利用者の前記スキル値を前記スキル値算出式により算出し、前記プログラム図作成装置の利用者のスキル値に基づいて算出された前記モジュール重要度を算出閾値として設定し、
前記可視化判定部は、前記重要度算出部が算出した前記モジュール重要度が前記算出閾値以上であるか否かを判定し、前記モジュール重要度が前記算出閾値以上であると判定した場合に可視化する、
ことを特徴とする請求項1記載のプログラム図作成装置。 - 前記重要度算出部は、
(A)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するバグ数の逆数、
(B)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するコード規約違反数の逆数、
(C)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するバグ数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(D)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するコード規約違反数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(E)前記ソースコードに含まれるモジュールの初期実装者がソースコードの実装期間に同時に実装しているソースコードの数、
(F)前記ソースコードに含まれるモジュールの初期実装者が行ったソースコードの実装期間に対する実装行数、
(G)前記ソースコードに含まれるモジュールの初期実装者が行ったソースコードの実装期間に対する実装行数を、実装したソースコードの循環的複雑度で乗算した値、または、
(H)前記ソースコードに含まれるモジュールの総実装行数に対する該ソースコードに含まれるモジュールの初期実装者が実装した該モジュールの実装行数で示されるモジュール実装寄与率に対して、前記モジュールの実装者の前記スキル値を乗算する計算を、全ての前記モジュールの実装者に対して行い、それら全ての値を足した結果、
を前記モジュール重要度として算出し、
前記可視化判定部が、前記モジュール重要度が前記算出閾値以上であるか否かを判定し、前記モジュール重要度が前記算出閾値以上であると判定した場合に可視化する、
ことを特徴とする請求項3記載のプログラム図作成装置。 - 複数のモジュールを構成するソースコードと、前記ソースコードが関係するプロジェクトと前記ソースコードの開発または保守データとを示すリポジトリとを記憶する記憶部を有したプログラム図作成装置で行われるプログラム図作成方法であって、
指定されたソースコードと該ソースコードに関するリポジトリとを取得し、該ソースコードが関係するプロジェクトに関わる開発者または保守者のスキルを示すスキル値を、スキル値算出式により、前記開発者または保守者ごとに算出するスキル値算出ステップと、
算出された前記スキル値の中から前記各モジュールの実装に関わる開発者または保守者の前記スキル値を取得し、該スキル値に基づいて、前記モジュールの重要度を示すモジュール重要度を、重要度算出式により、前記モジュールごとに算出する重要度算出ステップと、
前記モジュールごとに、前記モジュール重要度が所定の閾値以上であるか否かを判定し、前記モジュール重要度が所定の閾値以上であると判定されたモジュールを表示部に表示して可視化する可視化判定ステップと、
を含むことを特徴とするプログラム図作成方法。 - 前記スキル値算出ステップでは、前記スキル値算出式により、
(a)実装総行数に対するバグ数の逆数、
(b)実装総行数に対するコード規約違反数の逆数、
(c)実装総行数に対するバグ数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(d)実装総行数に対するコード規約違反数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(e)ソースコードの実装期間に対する実装行数、
(f)ソースコードの実装期間に対する実装行数を、実装したソースコードの循環的複雑度で乗算した値、及び、
(g)ソースコードの実装期間において、同時に実装されたソースコードの数、
を前記スキル値として算出する、
ことを特徴とする請求項5記載のプログラム図作成方法。 - 前記スキル値算出ステップでは、前記プログラム図作成装置の利用者の前記スキル値を前記スキル値算出式により算出し、前記プログラム図作成装置の利用者のスキル値に基づいて算出された前記モジュール重要度を算出閾値として設定し、
前記可視化判定ステップでは、前記重要度算出ステップで算出した前記モジュール重要度が前記算出閾値以上であるか否かを判定し、前記モジュール重要度が前記算出閾値以上であると判定した場合に可視化する、
ことを特徴とする請求項5記載のプログラム図作成方法。 - 前記重要度算出ステップでは、
(A)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するバグ数の逆数、
(B)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するコード規約違反数の逆数、
(C)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するバグ数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(D)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するコード規約違反数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(E)前記ソースコードに含まれるモジュールの初期実装者がソースコードの実装期間に同時に実装しているソースコードの数、
(F)前記ソースコードに含まれるモジュールの初期実装者が行ったソースコードの実装期間に対する実装行数、
(G)前記ソースコードに含まれるモジュールの初期実装者が行ったソースコードの実装期間に対する実装行数を、実装したソースコードの循環的複雑度で乗算した値、または、
(H)前記ソースコードに含まれるモジュールの総実装行数に対する該ソースコードに含まれるモジュールの初期実装者が実装した該モジュールの実装行数で示されるモジュール実装寄与率に対して、前記モジュールの実装者の前記スキル値を乗算する計算を、全ての前記モジュールの実装者に対して行い、それら全ての値を足した結果、
を前記モジュール重要度として算出し、
前記可視化判定ステップでは、前記モジュール重要度が前記算出閾値以上であるか否かを判定し、前記モジュール重要度が前記算出閾値以上であると判定した場合に可視化する、
ことを特徴とする請求項7記載のプログラム図作成方法。 - 複数のモジュールを構成するソースコードと、前記ソースコードが関係するプロジェクトと前記ソースコードの開発または保守データとを示すリポジトリとを記憶する記憶部を有したコンピュータに、
指定されたソースコードと該ソースコードに関するリポジトリとを取得し、該ソースコードが関係するプロジェクトに関わる開発者または保守者のスキルを示すスキル値を、スキル値算出式により、前記開発者または保守者ごとに算出するスキル値算出ステップと、
算出された前記スキル値の中から前記各モジュールの実装に関わる開発者または保守者の前記スキル値を取得し、該スキル値に基づいて、前記モジュールの重要度を示すモジュール重要度を、重要度算出式により、前記モジュールごとに算出する重要度算出ステップと、
前記モジュールごとに、前記モジュール重要度が所定の閾値以上であるか否かを判定し、前記モジュール重要度が所定の閾値以上であると判定されたモジュールを表示部に表示して可視化する可視化判定ステップと、
を実行させることを特徴とするプログラム図作成プログラム。 - 前記スキル値算出ステップでは、前記スキル値算出式により、
(a)実装総行数に対するバグ数の逆数、
(b)実装総行数に対するコード規約違反数の逆数、
(c)実装総行数に対するバグ数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(d)実装総行数に対するコード規約違反数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(e)ソースコードの実装期間に対する実装行数、
(f)ソースコードの実装期間に対する実装行数を、実装したソースコードの循環的複雑度で乗算した値、及び、
(g)ソースコードの実装期間において、同時に実装されたソースコードの数、
を前記スキル値として算出する、
ことを特徴とする請求項9記載のプログラム図作成プログラム。 - 前記スキル値算出ステップでは、前記コンピュータの利用者の前記スキル値を前記スキル値算出式により算出し、前記コンピュータの利用者のスキル値に基づいて算出された前記モジュール重要度を算出閾値として設定し、
前記可視化判定ステップでは、前記重要度算出ステップで算出した前記モジュール重要度が前記算出閾値以上であるか否かを判定し、前記モジュール重要度が前記算出閾値以上であると判定した場合に可視化する、
ことを特徴とする請求項9記載のプログラム図作成プログラム。 - 前記重要度算出ステップでは、
(A)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するバグ数の逆数、
(B)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するコード規約違反数の逆数、
(C)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するバグ数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(D)前記ソースコードに含まれるモジュールの初期実装者が実装した実装行数に対するコード規約違反数を、実装したソースコードの循環的複雑度で除算した値の逆数、
(E)前記ソースコードに含まれるモジュールの初期実装者がソースコードの実装期間に同時に実装しているソースコードの数、
(F)前記ソースコードに含まれるモジュールの初期実装者が行ったソースコードの実装期間に対する実装行数、
(G)前記ソースコードに含まれるモジュールの初期実装者が行ったソースコードの実装期間に対する実装行数を、実装したソースコードの循環的複雑度で乗算した値、または、
(H)前記ソースコードに含まれるモジュールの総実装行数に対する該ソースコードに含まれるモジュールの初期実装者が実装した該モジュールの実装行数で示されるモジュール実装寄与率に対して、前記モジュールの実装者の前記値を乗算する計算を、全ての前記モジュールの実装者に対して行い、それら全ての値を足した結果、
を前記モジュール重要度として算出し、
前記可視化判定ステップでは、前記モジュール重要度が前記算出閾値以上であるか否かを判定し、前記モジュール重要度が前記算出閾値以上であると判定した場合に可視化する、
ことを特徴とする請求項11記載のプログラム図作成プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/079792 WO2015063954A1 (ja) | 2013-11-01 | 2013-11-01 | プログラム図作成装置、プログラム図作成方法、及びプログラム図作成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015063954A1 JPWO2015063954A1 (ja) | 2017-03-09 |
JP6121558B2 true JP6121558B2 (ja) | 2017-04-26 |
Family
ID=53003593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015544745A Expired - Fee Related JP6121558B2 (ja) | 2013-11-01 | 2013-11-01 | プログラム図作成装置、プログラム図作成方法、及びプログラム図作成プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6121558B2 (ja) |
WO (1) | WO2015063954A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6356274B2 (ja) * | 2015-06-26 | 2018-07-11 | 株式会社日立製作所 | モジュール再利用判定装置、モジュール再利用判定方法、及びモジュール再利用判定プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038490A (ja) * | 2002-07-02 | 2004-02-05 | Hitachi Kokusai Electric Inc | 開発分類別プログラムステップ測定方式 |
JP2008293486A (ja) * | 2007-04-25 | 2008-12-04 | Hitachi Ltd | ソースコード解析機器、解析プログラムおよび解析方法 |
-
2013
- 2013-11-01 WO PCT/JP2013/079792 patent/WO2015063954A1/ja active Application Filing
- 2013-11-01 JP JP2015544745A patent/JP6121558B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2015063954A1 (ja) | 2015-05-07 |
JPWO2015063954A1 (ja) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017142800A5 (ja) | ||
CN109388376B (zh) | 软件开发风险评估方法、装置、设备及可读存储介质 | |
JP6253521B2 (ja) | プログラム可視化装置、プログラム可視化方法、及びプログラム可視化プログラム | |
US20200313994A1 (en) | Automated analysis and recommendations for highly performant single page web applications | |
US20160062871A1 (en) | Program information generating system, method, and computer program product | |
EP3531285A2 (en) | Ace: assurance, composed and explained | |
US11119899B2 (en) | Determining potential test actions | |
US20160063744A1 (en) | Data Quality Test and Report Creation System | |
JP6121558B2 (ja) | プログラム図作成装置、プログラム図作成方法、及びプログラム図作成プログラム | |
CN109388385B (zh) | 用于应用开发的方法和装置 | |
JP2018133044A (ja) | WebAPI実行フロー生成装置およびWebAPI実行フロー生成方法 | |
JPWO2020085374A1 (ja) | 熟練指数提供装置、熟練指数提供方法、及びプログラム | |
JP6157166B2 (ja) | 部品生成システムおよび方法ならびにプログラム | |
CN108880835A (zh) | 数据分析方法及装置、计算机存储介质 | |
CN113238967A (zh) | 测试案例的生成方法及装置 | |
WO2021055239A1 (en) | Method for automated code reviewer recommendation | |
CN108268347B (zh) | 一种物理设备性能测试方法及装置 | |
JP6088445B2 (ja) | ソフトウェア規模演算装置およびプログラム | |
JP2021039394A (ja) | 情報処理システム、情報処理方法、開発装置、および開発装置用のプログラム | |
JP5600826B1 (ja) | 非構造化データ処理システム、非構造化データ処理方法およびプログラム | |
CN109800332A (zh) | 处理字段名的方法、装置、计算机存储介质及终端 | |
WO2019103775A1 (en) | Method and apparatus for automated suggestion of additional sensors or inputs from equipment or systems | |
KR101273374B1 (ko) | 플러그 인 기반의 시뮬레이션 워크플로우 실행 시스템 및 방법 | |
CN112579925B (zh) | 舆情数据可视化方法、装置、计算机设备及可读存储介质 | |
US20170220339A1 (en) | Device, method, and program for visualizing dependent portions of program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170201 |
|
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: 20170228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170329 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6121558 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |