JP3905086B2 - ソフトウェア部品の重要性評価システム - Google Patents
ソフトウェア部品の重要性評価システム Download PDFInfo
- Publication number
- JP3905086B2 JP3905086B2 JP2003568523A JP2003568523A JP3905086B2 JP 3905086 B2 JP3905086 B2 JP 3905086B2 JP 2003568523 A JP2003568523 A JP 2003568523A JP 2003568523 A JP2003568523 A JP 2003568523A JP 3905086 B2 JP3905086 B2 JP 3905086B2
- Authority
- JP
- Japan
- Prior art keywords
- component
- software
- group
- parts
- importance
- 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
- 238000011156 evaluation Methods 0.000 claims description 89
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 20
- 238000007621 cluster analysis Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 1
- 235000014552 Cassia tora Nutrition 0.000 description 1
- 244000201986 Cassia tora Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000017105 transposition Effects 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/30—Creation or generation of source code
- G06F8/36—Software reuse
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)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
Description
再利用は、既存のソフトウェア部品を同一システム内や他のシステムで用いることであると定義されている(例えば、C.Braun:Reuse,in John J.Marciniak,editor,Encyclopedia of Software Engineering,Vol.2,John Wiley & Sons,pp.1055−1069(1994)等参照)。一般に、ソフトウェアの再利用は、生産性と品質を改善し、結果としてコスト削減するといわれている。
ソフトウェア部品間の類似度を求めて、類似しているソフトウェア部品をまとめて部品群とする類似度分析手段と、前記関係抽出手段からのソフトウェア部品間の関係と、前記類似度分析手段からの部品群とから、部品群間の関係を求める部品群関係抽出手段と、
前記部品群関係抽出手段からの部品群間の関係から、被利用数が多い部品群や被利用数が多い部品群から利用されている部品群の評価値が高くなるように評価する、各部品群に対する相対的重要性を評価する相対的重要性評価手段と、部品群の評価した値を、部品群に属するソフトウェア部品に評価値として移す手段とを備え、ソフトウェア部品の重要性を評価することを特徴とする。
前記相対的重要性評価手段は、ある部品群C i の評価値v i を、利用している部品群C k には高くなるような配分率d ik で、全ての部品群C j (1≦j≦m)に配分してもよいし、どの部品群も利用していない部品群C l に関しては、全ての部品群C j (1≦j≦m)に対して、配分率d lj =(1/m)として、評価値を定めてもよい。
また、前記相対的重要性評価手段は、前記部品群C i の前記評価値をv i ,部品群C i から部品群C j への前記配分率d ij ,評価値を表わすm次元列ベクトルVをV=(v 1 ,v 2 ,・・・,v m ) t ,配分率d ij を要素とするm×m行列Dを
上述のソフトウェア部品の重要性評価システムをコンピュータ・システムに構築させるコンピュータ・プログラムや、そのコンピュータ・プログラムを記憶した記録媒体も本発明である。
本発明では、利用実績に基づいて、ソフトウェア部品の再利用における重要性を評価している。本発明における重要性評価についての基本的な考え方は、以下の通りである。
(1)ソフトウェアを構成する部品間には相互に利用関係がある。
(2)一般に、時間が経過し、多くのプロジェクト開発で再利用などが行われるに連れて、部品の利用関係は変化していく。
(3)十分な時間が経過した状態のもとで、被利用数が多い部品は重要である(再利用性が高い)。また、重要な部品から利用されている部品も重要である(再利用性が高い)。
分野は異なるが、よく知られているサーチエンジンgoogleでは、多くのページからリンクされているページは、やはり良質なページであるという再帰的な関係をもとに、あらゆるページの重要度を評価している。
まず、図1を用いて、重要性を評価する対象である「ソフトウェア部品」とその利用関係について説明する。
一般にソフトウェア部品(Software Component)は再利用できるように設計された部品とされ、特に部品の内容を利用者が知る必要のないブラックボックス再利用ができるものを指すこともある。ここではより一般的に、ソースコード・ファイルやバイナリ・ファイル、ドキュメントなどの種類を問わず、開発者が再利用を行なう単位をソフトウェア部品あるいは単に部品と呼ぶ。これらの部品間には、図1に示すように、互いに利用する、利用されるという利用関係が存在する。図1では、部品間の利用関係をグラフ100で表している。図1において、部品102は部品104を利用しており、部品104は部品106,108を利用していることを示している。そして、部品106および部品110は、部品112を利用しており、部品112は部品108を利用している。
一般に、部品の集合には、コピーした部品や、コピーして一部変更した部品が多く存在する。そこで、類似した部品をまとめることにより、部品の集合をいくつかの部品群に分類する。以降、類似した部品を集めた部品群を単に部品群と呼ぶ。
図2を例に説明する。図2(a)は部品間の利用関係である。部品c1と部品c’1、部品c2と部品c’2はそれぞれ類似した部品である。部品c3,c4,c5には類似性はない。図2(a)に示すように、部品c2は部品c1を利用し、部品c’2,c3は部品c’1を利用している。また、部品c1は部品c4を、部品c’1は部品c5をそれぞれ利用している。
図2(b)では、類似した部品をまとめて部品群としている。部品群に属する部品は、それぞれ、C1={c1,c’1},C2={c2,c’2},C3={c3},C4={c4},C5={c5}である。
ある部品群Ciに属する部品が、他の部品群Cjに属する部品を利用している場合、その2つの部品群間には利用関係があるとする。
例えば、図2では、部品c1と部品c’1を利用する関係は、部品群C1を利用する関係としてまとめている。また、部品c1と部品c’1が利用している関係は、部品群C1が利用している関係としてまとめている。
部品群間の類似度は、部品間の類似度に基づいて決まるとする。基準となる類似度の閾値t(0≦t≦1)を与え、部品群間の類似度がtより低く、かつ、部品群内の部品間の類似度はt以上になるように分類する。
個々の部品の再利用性を評価する手法は多く提案されている。Etzkornらは、Modularity,Interface Size,Documentation,Complexityの4つの視点からオブジェクト指向ソフトウェアの再利用性を評価する手法を提案している(L.H.Etzkorn,W.E.Huges Jr.,C.G.Davis:”Automated reusability quality analysis of 00 Legacy software”,Information and Software Technology,Vol.43,Issue 5,pp.295−308(2001)参照)。この手法は、ソースコードから計測される複数のメトリクスを正規化して足し合わせることで再利用性のメトリクスとし、C++のソースコードに対して、実際にプログラマが評価した再利用性とメトリクス値を比較している。
また、山本らはソースコードが非開示な部品に対して、そのインターフェイスから再利用性を評価する手法を提案している。彼らは理解容易性、利用容易性、テスト容易性、可搬性の4つの視点から再利用性メトリクスを定義し、JavaBeansを対象として実際にプログラマがアプリケーションを実装した結果とメトリクス値を比較している(山本,鷲崎,深澤:“再利用特性に基づくコンポーネントメトリクスの提案と検証”,ソフトウェア工学の基礎ワークショップ(FOSE2001),(2001)参照)。
これに対して本発明では、その部品がどの程度利用されているかという実績に基づいた評価を行う。この再利用における重要性は、多数の部品間の静的特性から決まる再利用性とは区別して、「相対的重要性(Relative Significance)」と呼ぶ。
[数2]
(部品の評価値)=(部品への投票数)
このとき、単純に獲得票数を数えるだけでなく、どのような部品から再利用されたかによって票に重みづけをする。多くの部品から再利用されるような優秀な部品(優秀な部品の開発者に再利用されている部品)は、再利用における重要性が高いとみなして、同じ一票の支持投票でも、重要性の評価値の高い部品から投票された場合と、評価値の低い部品から投票された場合では、前者の票の方がより大きい重みを持つようにする。
[数3]
(票の重み)=(投票元の評価値)×(投票先に対する配分率)
このように、部品の集合において部品同士がお互いに重要性を評価し、投票しあうことで決まっていく評価を「相対的重要性(Relative Significance)」と呼び、部品が獲得した票の重みの合計値を「相対的重要性評価値(Value of Relative Significance)」と呼ぶ。
図2で説明したように、実際の部品の集合には多数のコピーや類似品が存在しているため、提案手法では部品群を部品の単位とし、部品群の相対的重要性評価値による順位づけを行うことで評価を行う。この手法を「Relative Significance Ranking法(RSR法)」と呼ぶ。
評価対象となる部品がn個あるとし、それぞれc1,c2,…,cnとする。部品間には方向性を持つ関係があり、部品ciからcjへの関係をr(ci,cj)と表し、
[数4]
r(ci,cj)=if(ciはcjを利用している)
then true
else false
とする。
評価対象となる部品全体の集合を、C={c1,c2,・・・,cn}と表す。部品間の類似度sに基づいて部品の集合間の類似度が決まるとし、部品の集合CiとCjとの類似度をS(Ci,Cj)と表す。類似度は0≦S(Ci,Cj)≦1に正規化されているとする。
・Ciに属するすべての部品について、類似度sはt以上とする。
[数5]
∀ck,c1∈Ci | s(ck,c1)≧t (1)
・異なる集合間の類似度Sはtより低い。すなわち、すべてのi,j(1≦i,j≦m)について次式が成り立つ。
[数6]
S(Ci,Cj)<t (i≠j) (2)
Cをm個の類似部品群に分割し、それぞれC1,C2,・・・,Cmとする。以降、類似部品群を単に部品群と呼ぶ。
[数7]
R(Ci,Cj)=if(∃ci,cj)|r(ci,cj)
then true
else false
である。
部品群は相対的重要性評価値を持つとし、部品群Ciの相対的重要性評価値をviと表す。また、CiからCjへの利用関係の重みをwijと表す。
定義3 部品群Ciの相対的重要性評価値は、部品群Ciへの利用関係の重みwjiの総和である。
定義4 部品群CiからCjへの利用関係の重みwijは、Ciの相対的重要性評価値を配分率dijで配分した値である。
[数9]
wij=vidij (4)
定義5 部品群Ciの相対的重要性評価値は、すべての部品群Cj(1≦j≦m)に配分される。
[数11]
R(Ci,Cj)=true,R(Ci,Ck)=falseのとき、
dij>dik (6)
である。
これまでで定義した相対的重要性評価値を、実際のソフトウェア部品にそのまま適用するといくつかの問題が生じるため、若干の補正が必要となる。以下ではその問題点と対策を説明する。
(利用をしていない部品に対する評価)
一般に、ソフトウェア開発においては、他の部品を一つも利用せずに開発した部品も存在する。
ある部品群Ciが他のどの部品も利用していない場合、Ciはどの部品群に対しても投票を行っていないことになる。したがってどの部品群にも評価値を配分できないと考えてdi0,di1,di2,…,dimをすべて0とすると、定義5を満たさないことになる。そこで、どの部品にも投票しない場合は「重要性が非常に低い」という評価をすべての部品群に対して投票したと解釈する。
補正1 部品群Ciがどの部品群も再利用していない場合、すべてのjについて
この場合を、図4を用いて説明する。図4で、四角は部品群162,164,166,172を、矢印は利用関係を表している。図4(a)では、楕円160中の部品群に入る矢印は存在するが、楕円160から出ていく矢印は存在しない。従って、重要性評価の投票はこの楕円内に蓄積され、全体へ票が循環しないことになる。そこで、部品群を利用していない場合には、図4(b)で薄い線の矢印d’で示すように、非常に低い重みの票を投票すると考える。
補正2 部品群のもつ評価値のうちp(0<p<1)は利用した部品群にのみ配分し、(1−p)はすべての部品群に配分する。もとの配分率をdijとし、修正後の配分率をd’ijとし、以下のように配分率を修正する。
ここでは、相対的重要性評価値を求めることが、配分率の行列の固有ベクトルを求めることに帰着されることを示す。
定義3,4より
すなわち、
これを行列の記法で表す。
m個の部品群の評価値を表すm次元列ベクトルをVとする。
[数16]
V=(v1,v2,・・・,vm)t 右肩のtは転置を表す。
また、CiからCjへの配分率を表すm×m行列をDとする。
[数18]
V=DtV (11)
と表される。
式(11)を満たすようなベクトルVは行列Dtの固有値λ=1の固有ベクトルである。
よって配分率の行列の固有ベクトルを求めることで、相対的重要性評価値を決定することができる。
上述した重要性評価モデルに基づいて、本発明のシステムを、Java(登録商標)ソースコードを対象に相対的重要性評価システムで説明する。上述の手法(RSR法)をJava(T)に適用する際の、モデルとJava(T)の概念との対応を表1に示す。
相対的重要性評価システムの構成を図5に示す。このシステムでは、N個のJavaソースコード・ファイル230を相対的重要性の評価対象とする。以下に、それぞれの部分を説明する。
・ファイル間の関係抽出(S212):Javaソースコード・ファイル230を解析し、クラス間の継承、インターフェイスと抽象クラスの実装、メソッドの呼びだしを再利用関係として抽出する。Javaソースコードの構文解析には、ここではANTLR(ANTLAR,http://www.antlr.org/参照)を利用している。
・SMMT(S222):Javaソースコード・ファイル間230の類似度を算出する。
・クラスタ分析(S224):SMMT(S222)で得られた類以度をもとにクラスタ分析を行ない、ファイルの集合をM個の部品群に分類する。クラスタ分析においては、分類の基準となる閾値tをパラメータとして与える(上述の定義1参照)。
・部品群間の関係抽出(S214):クラスタ分析(S224)とファイル間の関係抽出(S212)の結果から、部品群間の関係を抽出する。
・相対的重要性計算(S216):部品群間の関係から、RSR法で部品群の相対的重要性評価値による評価を行なう。なお、ここでは行列の固有値計算には、Java(T)で行列演算を行なうパッケージJAMA(JAMA:A Java Matrix Package:http://math.nist.gov./javanumerics/jama/参照)を利用している。
・部品群評価→ファイル(ソフトウェア部品)評価変換(S218):部品群の相対的重要性評価を、ファイル(ソフトウェア部品)の評価に変換する。
実際に、Javaソースコードに、上述の相対的重要性評価システムを適用した場合の適用例を以下に示す。評価対象としてJDK 1.3.0を選んだ。調整パラメータとして、定義1で述べたクラスタ分析における分類の閾値をs=0.80、補正2で述べた票の重みの比率をp=0.85とした。JDKへ適用して得られた結果の一部を図6に示す。図6の表は、JDKのクラスごとのファイルに対する評価値で、ソートした結果を示している。
JDKは、Java(T)の基本パッケージであり、Java(T)でアプリケーションを開発するときにはJDKが必要となる。図6において、相対的重要性の上位10クラスについて見てみると、Object,Class,Throwableなど、Java(T)の言語仕様で利用しなければならないクラスが大半を占めている。Java(T)言語仕様によれば、java.lang.Objectクラスはすべてのクラスのスーパークラスである。したがって、すべてのクラスから再利用されていることになり、相対的重要性が1位となっている。また、java.lang.Classクラスは実行中のクラスおよびインターフェイスを表すクラスで、このクラスを直接継承するようなクラスはないが、実行時のオブジェクト型の情報を取得するために頻繁に呼び出される。java.lang.Throwableクラスはすべてのエラーと例外のスーパークラスであり、したがって、例外やエラーを扱うクラスは、すべてこのクラスを間接的に再利用していることになる。このように、実際に直接的、間接的に利用される回数の多いクラスが上位を占めている。
最下位は1256位で、該当するクラスは622あった。これらのクラスは、どのクラスにも再利用されていない。
このように、相対的重要性評価システムは、実際の再利用における重要性を反映している評価値を算出している。
Claims (6)
- ソフトウェア部品の再利用における重要性評価システムであって、
ソフトウェア部品間の関係を抽出する関係抽出手段と、
ソフトウェア部品間の類似度を求めて、類似しているソフトウェア部品をまとめて部品群とする類似度分析手段と、
前記関係抽出手段からのソフトウェア部品間の関係と、前記類似度分析手段からの部品群とから、部品群間の関係を求める部品群関係抽出手段と、
前記部品群関係抽出手段からの部品群間の関係から、被利用数が多い部品群や被利用数が多い部品群から利用されている部品群の評価値が高くなるように評価する、各部品群に対する相対的重要性を評価する相対的重要性評価手段と、
部品群の評価した値を、部品群に属するソフトウェア部品に評価値として移す手段と
を備え、ソフトウェア部品の重要性を評価することを特徴とするソフトウェア部品の重要性評価システム。 - 請求項1に記載のソフトウェア部品の重要性評価システムであって、
前記相対的重要性評価手段は、ある部品群C i の評価値v i を、利用している部品群C k には高くなるような配分率d ik で全ての部品群C j (1≦j≦m)に配分することを特徴とするソフトウェア部品の重要性評価システム。 - 請求項2に記載のソフトウェア部品の重要性評価システムであって、
前記相対的重要性評価手段は、どの部品群も利用していない部品群C l に関しては、全ての部品群C j (1≦j≦m)に対して、配分率d lj =(1/m)として、評価値を定めることを特徴とするソフトウェア部品の重要性評価システム。 - 請求項1〜4のいずれかに記載のソフトウェア部品の重要性評価システムをコンピュータ・システムに構築させるコンピュータ・プログラムを記憶した記録媒体。
- 請求項1〜4のいずれかに記載のソフトウェア部品の重要性評価システムをコンピュータ・システムに構築させるコンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002040728 | 2002-02-18 | ||
JP2002040728 | 2002-02-18 | ||
PCT/JP2002/010274 WO2003069466A1 (fr) | 2002-02-18 | 2002-10-02 | Système d'évaluation de l'importance d'un composant logiciel |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2003069466A1 JPWO2003069466A1 (ja) | 2005-06-09 |
JP3905086B2 true JP3905086B2 (ja) | 2007-04-18 |
Family
ID=27678313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003568523A Expired - Fee Related JP3905086B2 (ja) | 2002-02-18 | 2002-10-02 | ソフトウェア部品の重要性評価システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7627855B2 (ja) |
JP (1) | JP3905086B2 (ja) |
CA (1) | CA2476585A1 (ja) |
WO (1) | WO2003069466A1 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7802236B2 (en) * | 2002-09-09 | 2010-09-21 | The Regents Of The University Of California | Method and apparatus for identifying similar regions of a program's execution |
JP4554321B2 (ja) * | 2004-10-01 | 2010-09-29 | 株式会社日立製作所 | アプリケーションプログラム開発支援方法及びシステム |
JP2006113934A (ja) * | 2004-10-18 | 2006-04-27 | Hitachi Ltd | プログラム開発支援装置、プログラム開発支援方法およびプログラム |
US7624384B2 (en) * | 2004-11-30 | 2009-11-24 | Intel Corporation | Apparatus, system, and method of dynamic binary translation with translation reuse |
WO2006130846A2 (en) * | 2005-06-02 | 2006-12-07 | United States Postal Service | Methods and systems for evaluating the compliance of software to a quality benchmark |
US8572560B2 (en) * | 2006-01-10 | 2013-10-29 | International Business Machines Corporation | Collaborative software development systems and methods providing automated programming assistance |
US8010947B2 (en) | 2006-05-23 | 2011-08-30 | International Business Machines Corporation | Discovering multi-component software products based on weighted scores |
US8479159B2 (en) | 2006-10-20 | 2013-07-02 | International Business Machines Corporation | System and method for automatically determining relationships between software artifacts using multiple evidence sources |
GB0623525D0 (en) * | 2006-11-25 | 2007-01-03 | Ibm | An apparatus and method for determining the reuse value of a service component |
US20080270153A1 (en) * | 2007-04-30 | 2008-10-30 | International Business Machines Corporation | Service oriented architecture (soa) lifecycle model migration |
JPWO2009069474A1 (ja) * | 2007-11-26 | 2011-04-14 | 日本電気株式会社 | 類似サービス検索システム、方法、及び、プログラム |
US8005783B2 (en) * | 2008-02-27 | 2011-08-23 | Siemens Aktiengesellschaft | Method and system for optimizing reuse of artifacts based on assessment and classification |
US20090259998A1 (en) * | 2008-04-11 | 2009-10-15 | International Business Machines Corporation | Method, system and computer program for identifying and reusing component aggregates |
JP5128440B2 (ja) * | 2008-11-05 | 2013-01-23 | 株式会社日立製作所 | ソフトウェア分析装置 |
US20110055373A1 (en) * | 2009-08-30 | 2011-03-03 | International Business Machines Corporation | Service identification for resources in a computing environment |
US8615477B2 (en) | 2010-06-08 | 2013-12-24 | Microsoft Corporation | Monitoring relationships between digital items on a computing apparatus |
US8515977B2 (en) | 2010-09-10 | 2013-08-20 | International Business Machines Corporation | Delta language translation |
US8670973B2 (en) | 2010-09-16 | 2014-03-11 | International Business Machines Corporation | Language translation reuse in different systems |
US9595202B2 (en) * | 2012-12-14 | 2017-03-14 | Neuron Fuel, Inc. | Programming learning center |
US9595205B2 (en) | 2012-12-18 | 2017-03-14 | Neuron Fuel, Inc. | Systems and methods for goal-based programming instruction |
US10510264B2 (en) | 2013-03-21 | 2019-12-17 | Neuron Fuel, Inc. | Systems and methods for customized lesson creation and application |
US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
EP3069267A4 (en) | 2013-11-13 | 2017-09-27 | Microsoft Technology Licensing, LLC | Software component recommendation based on multiple trace runs |
US10116512B2 (en) * | 2014-07-10 | 2018-10-30 | Oracle International Corporation | Service discovery and/or effort estimation in networked computing environments |
US10949785B2 (en) * | 2015-01-28 | 2021-03-16 | Micro Focus Llc | Product portfolio rationalization |
DE102015210498A1 (de) * | 2015-06-09 | 2016-12-15 | Siemens Aktiengesellschaft | Verfahren zum rechnergestützten Erzeugen einer graphischen Modellierungssprache |
WO2016208073A1 (ja) * | 2015-06-26 | 2016-12-29 | 株式会社日立製作所 | モジュール再利用判定装置、モジュール再利用判定方法、及びモジュール再利用判定プログラム |
JP6602820B2 (ja) * | 2017-07-04 | 2019-11-06 | 株式会社One Act | ソースコード売買システム |
JP6971501B2 (ja) * | 2018-12-10 | 2021-11-24 | 株式会社One Act | Aiを使用したソースコード売買システム |
US11023356B2 (en) * | 2019-01-03 | 2021-06-01 | International Business Machines Corporation | Utilization of publicly available source code |
CN111596897B (zh) * | 2020-05-07 | 2023-04-28 | 北京百度网讯科技有限公司 | 代码复用的处理方法、装置及电子设备 |
JP7519927B2 (ja) | 2021-01-25 | 2024-07-22 | 三菱電機株式会社 | Dx実現用共通基盤システム |
JPWO2022264316A1 (ja) | 2021-06-16 | 2022-12-22 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202996A (en) * | 1985-10-11 | 1993-04-13 | Hitachi, Ltd. | Software structuring system and method by data table translation |
JP2834171B2 (ja) * | 1989-02-06 | 1998-12-09 | 株式会社日立製作所 | コンパイル方法 |
US5440742A (en) * | 1991-05-10 | 1995-08-08 | Siemens Corporate Research, Inc. | Two-neighborhood method for computing similarity between two groups of objects |
US5404510A (en) * | 1992-05-21 | 1995-04-04 | Oracle Corporation | Database index design based upon request importance and the reuse and modification of similar existing indexes |
JPH0756726A (ja) | 1993-08-10 | 1995-03-03 | Fuji Electric Co Ltd | 再利用ソフトウェア作成システム |
JPH07141166A (ja) | 1993-11-19 | 1995-06-02 | Ricoh Co Ltd | クラスタ分析を用いたプログラム解析方法 |
JPH0895764A (ja) | 1994-09-26 | 1996-04-12 | Atr Tsushin Syst Kenkyusho:Kk | ソフトウェア設計支援装置 |
JPH09134282A (ja) * | 1995-11-08 | 1997-05-20 | Hitachi Ltd | プログラム作成方法 |
JPH09212353A (ja) * | 1996-02-07 | 1997-08-15 | Hitachi Ltd | 再利用設計支援方法および設計支援装置 |
JP2001014154A (ja) | 1999-06-29 | 2001-01-19 | Hitachi Ltd | オブジェクト指向ソフトウェア部品抽出支援および検索装置 |
EP1224544A1 (en) * | 1999-08-16 | 2002-07-24 | Z-Force Corporation | System of reusable software parts for implementing concurrency and hardware access, and methods of use |
JP2001312419A (ja) | 2000-02-22 | 2001-11-09 | Fujitsu Ltd | ソフトウェア重複度評価装置およびソフトウェア重複度評価プログラムを記録した記録媒体 |
JP2002015135A (ja) | 2000-06-30 | 2002-01-18 | Koji Noda | 有価証券取引用文書閲覧サーバ、有価証券取引装置および方法 |
US7069545B2 (en) * | 2000-12-29 | 2006-06-27 | Intel Corporation | Quantization and compression for computation reuse |
JP2009086791A (ja) * | 2007-09-28 | 2009-04-23 | Hitachi Ltd | ソフトウェア製品系列分析装置 |
-
2002
- 2002-10-02 WO PCT/JP2002/010274 patent/WO2003069466A1/ja active Application Filing
- 2002-10-02 JP JP2003568523A patent/JP3905086B2/ja not_active Expired - Fee Related
- 2002-10-02 CA CA002476585A patent/CA2476585A1/en not_active Abandoned
- 2002-10-02 US US10/504,868 patent/US7627855B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7627855B2 (en) | 2009-12-01 |
WO2003069466A1 (fr) | 2003-08-21 |
JPWO2003069466A1 (ja) | 2005-06-09 |
US20050120333A1 (en) | 2005-06-02 |
CA2476585A1 (en) | 2003-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3905086B2 (ja) | ソフトウェア部品の重要性評価システム | |
US10198250B1 (en) | Partitioning based migration of systems to container and microservice based platforms | |
Theis et al. | Decay replay mining to predict next process events | |
Munson et al. | The dimensionality of program complexity | |
US6961685B2 (en) | Probability model selection using information-theoretic optimization criterion | |
Chen et al. | Coverage prediction for accelerating compiler testing | |
US20130145347A1 (en) | Automatic modularization of source code | |
CN111639034A (zh) | 测试方法、装置、设备及计算机存储介质 | |
Huang et al. | Using discriminative feature in software entities for relevance identification of code changes | |
Westermann et al. | Efficient experiment selection in automated software performance evaluations | |
Klinaku et al. | The applicability of palladio for assessing the quality of cloud-based microservice architectures | |
Chen et al. | Silhouette: Efficient cloud configuration exploration for large-scale analytics | |
Forouzani et al. | Method for assessing software quality using source code analysis | |
Iosup et al. | The LDBC Graphalytics Benchmark | |
Folgieri et al. | A revised Web Objects method to estimate Web application development effort | |
Aktas et al. | Implementation of analytical hierarchy process in detecting structural code clones | |
Sujon et al. | Characterization and localization of performance-bugs using Naive Bayes approach | |
Rabani et al. | Software cognitive complexity metrics for OO design: A survey | |
CN110866605A (zh) | 数据模型训练方法、装置、电子设备及可读介质 | |
Rathee et al. | Sensitivity analysis of evolutionary algorithm for software reusability | |
Röck et al. | Literature survey of performance benchmarking approaches of BPEL engines | |
Dhas et al. | Modern Metrics (MM): Size Estimation of Modern Software and its Metrics Analysis | |
Bowring et al. | Improving the classification of software behaviors using ensembles of control-flow and data-flow classifiers | |
Phadke et al. | Predicting risky modules in open-source software for high-performance computing | |
Saini et al. | Software Product Line Testing—A Proposal of Distance-Based Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061108 |
|
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: 20070109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070110 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100119 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |