著者
松本 健一 中村 匡秀 水野 修 森崎 修司 大平 雅雄 門田 暁人
出版者
奈良先端科学技術大学院大学
雑誌
基盤研究(B)
巻号頁・発行日
2011-04-01

本研究では,高い専門性を要するソフトウェア開発作業を,不特定多数の個人にインターネット技術を使って外注する「クラウドソーシング」と,それら個人間での「群集知形成」を支援する超分散開発基盤技術を開発した.具体的には,「多言語対応コミュニケーション・知識形成基盤」と「Lightweight & Massive PDCAサイクル基盤」の2つを開発し,実証実験によってその妥当性,有用性を評価した.個人を単位とした新たな超分散開発形態は,ソフトウェア開発における多重請負構造を解消し,開発リスク低減とソフトウェア品質向上をもたらす.
著者
角田 雅照 大杉 直樹 門田暁人 松本 健一 佐藤慎一
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.46, no.5, pp.1155-1164, 2005-05-15
被引用文献数
12

ソフトウェア開発における工数予測を目的として,過去のソフトウェア開発プロジェクトにおいて記録された多種類のソフトウェアメトリクス値を入力データとし,協調フィルタリングにより予測工数を求める方法を提案する.協調フィルタリングは,未計測の値(欠損値)が大量に含まれているデータを入力とした場合でも予測が行えるという特長があるが,ソフトウェア工数予測に適用する方法はこれまで提案されていない.提案方法では,まず,入力となるメトリクス値を正規化し,値域を揃える.次に,正規化したメトリクス値を用いて,予測対象(開発中)のプロジェクトと,過去に行われたプロジェクトとの類似度を計算する.最後に,類似度の高い(予測対象プロジェクトと類似した)プロジェクトの工数を類似度で加重平均した値を,予測対象プロジェクトの工数とする.ケーススタディとして,株式会社NTTデータにおいて1 081件のソフトウェアプロジェクトから計測された14種類のメトリクス(約60%の欠損値を含む)を用いて試験工数を予測した.その結果,提案方法は従来方法(欠損値処理法を用いたステップワイズ重回帰分析)よりも高い精度を示し,予測試験工数の相対誤差の平均値(1プロジェクトあたり)が22.11から0.79に改善された.To predict software development effort, this paper proposes an effort prediction method based on the Collaborative Filtering (CF) which uses as input various software metrics recorded in past software development projects. The CF has an advantage that it can conduct a prediction using "defective" input data containing a large amount of missing values. There are, however, no researches which propose a method for applying the CF to Software effort prediction. Our proposal consists of three steps. In the first step, we normalize values of metrics to equalize their value range. In the next step, we compute the similarity between target (current) project and past (completed) project using normalized values. In the last step, we estimate the effort of target project by computing the weighted sum of efforts of high-similarity projects (that are similar to the target project) using the similarity of each project as a weight. In a case study to evaluate our method, we predicted the test process effort using 1,081 software projects including 14 metrics whose missing value rate is 60%, which have been recorded at NTT DATA Corporation. As a result, the accuracy of our method showed better performance than conventional methods (stepwise multiple regression models); and, the average accuracy per project was improved from 22.11 to 0.79.
著者
門田暁人 佐藤慎一 神谷 年洋 松本 健一
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.44, no.8, pp.2178-2188, 2003-08-15
被引用文献数
19

ソフトウェアに含まれるコードクローン(重複するコード列)は,ソフトウェアの構造を複雑にし,ソフトウェア品質に悪影響を与えるといわれている.しかし,コードクローンとソフトウェア品質の関係はこれまで定量的に明らかにされていない.本論文では,20年以上前に開発され,拡張COBOL言語で記述されたある大規模なレガシーソフトウェアを題材とし,代表的なソフトウェア品質である信頼性・保守性とコードクローンとの関係を定量的に分析した.信頼性の尺度として保守工程で発見された「フォールト数/LOC(Lines of Code)」を用い,保守性の尺度として「モジュールの改版数」を用いた.分析の結果,コードクローンを含むモジュール(clone-includedモジュール)は含まないモジュール(non-cloneモジュール)よりも信頼性(平均値)が約40%高いが,200行を超える大きさのコードクローンを含むモジュールは逆に信頼性が低いことが分かった.また,clone-includedモジュールはnon-cloneモジュールよりも改版数(平均値)が約40%大きく(すなわち,改版のためにより多くの保守コストが費やされてきた),さらに,モジュールに含まれるコードクローンのサイズが大きいほど改版数がより大きい傾向にあることが分かった.Existing researches suggest that the code clone (duplicated code section) is one of the factors that degrades the design and structure of software and lowers the various quality attributes. However, the influence of code clones on software quality has not been quantitatively clarified yet. In this paper, we quantitatively analyzed the relation between code clones and the software reliability and maintainability of twenty years old software, which is written in an extended COBOL language. We used the number of faults per LOC (Lines of Code) as a reliability metric, and the revision number of modules as a maintainability metric. As a result, we found that modules having code clones (clone-included modules) are 40{%} more reliable than modules having no code clone (non-clone modules) on average. Nevertheless, the modules having very large code clones (more than 200 SLOC) are less reliable than non-clone modules. We also found that clone-included modules are 40{%} less maintainable (having greater revision number on average) than non-clone modules; and, modules having larger code clone are less maintainable than modules having smaller code clone.
著者
玉田 春昭 神崎 雄一郎 中村 匡秀 門田 暁人 松本 健一
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. ISEC, 情報セキュリティ (ISSN:09135685)
巻号頁・発行日
vol.103, no.195, pp.127-133, 2003-07-10
被引用文献数
2

本論文では盗用の疑いのあるJavaプログラムの発見を容易にすることを目的として,Javaクラスファイルからプログラム指紋を抽出する方法を提案する.提案方法はプログラム中の特徴的な箇所である初期値代入部分,メソッド呼び出し部分などを抽出し,指紋として用いる.このプログラム指紋を用いることにより,Javaクラスファイルを互いに区別することが可能となる.検証実験において,J2SDK SE 1.4.1_02のクラスライブラリに適用した結果,提案手法により99.94%のクラスを互いに区別できることを確認した.
著者
神代 知範 大和 正武 門田 暁人 松本 健一 井上 克郎
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. HIP, ヒューマン情報処理 (ISSN:09135685)
巻号頁・発行日
vol.99, no.722, pp.37-44, 2000-03-21
被引用文献数
6

本稿では, 計算機のGUIの操作効率の向上を目的として, ユーザの視線の動きとマウスを併用したGUI操作方法を提案する.対象とするGUI操作には, 日常的に行われる操作の一つである「ドラッグ&ドロップ操作」を選んだ.提案方式ではドラッグ&ドロップに含まれる操作を(1)選択対象であるアイコン付近への大まかなカーソルの移動, (2)アイコンへのカーソル位置の微調整, (3)アイコン選択の確定操作, の3つの基本操作に分け, (1)には視線を, (2)(3)にはマウスを用いる.さらに, (2)の微調整の方式としてAuto, Manual, SemiAutoの3方式を提案する.評価実験の結果, SemiAuto方式が従来のマウスだけの操作方式と同程度にミスが少ない上, より高速であることが分かった.
著者
大和 正武 門田暁人 松本 健一 井上 克郎 鳥居 宏次
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.42, no.6, pp.1320-1329, 2001-06-15
被引用文献数
11

本稿では,一般的なGUI上でのターゲットのポインティング操作(ターゲットへマウスカーソルを移動し指し示す操作)に視線を利用することを目的として,ユーザの目の固視微動と視線の計測誤差の発生を考慮した3つのターゲット選択方式(Auto方式,Manual方式,SemiAuto方式)を比較検討する.(1) Auto方式では,ターゲットのサイズを仮想的に拡大する.(2) Manual方式では,ユーザが視線によるおおまかなポインティングを行った後で,ポインティング操作用デバイスをマウスに切り替える.(3) SemiAuto方式は,Auto方式とManual方式を組み合わせた方式である.一般的なGUIを想定した環境で評価実験を行った結果,SemiAuto方式による操作は従来のマウスのみを用いた操作に比べて,選択誤りを大幅に増やすことなく,操作時間は同程度かより短くなることが分かった.特に,非連続操作(カーソルの初期位置が不定の場合の選択操作)においては,操作時間を約2/3に短縮できた.The purpose of this paper is to increase the efficiency of pointingoperation --- an operation that moves and points a mouse cursor onto atarget item.We examined three pointing methods (Auto method, Manualmethod, and SemiAuto method) under the general GUI environment.By using the three examined methods, the computer user can select atarget even if jittery motions of user's eye and the measurementerror of an eye-tracking device occurred. (1) Auto method enlarges thetarget virtually. (2) Manual method switches the input device from theeye to the mouse after the user roughly pointed the target. (3)SemiAuto method is a method that combined Auto method and Manualmethod.The result of an experiment to evaluate three methods showedthat the efficiency of operation with SemiAuto method is same as orfaster than the mouse only operation without increasing errors largely.Especially, in the discontinuous selection situation (atarget selection whose cursor position is unpredictable), SemiAutomethod needed only about 2/3 of time of the mouse only operation.