著者
門田暁人 佐藤慎一 神谷 年洋 松本 健一
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.44, no.8, pp.2178-2188, 2003-08-15

ソフトウェアに含まれるコードクローン(重複するコード列)は,ソフトウェアの構造を複雑にし,ソフトウェア品質に悪影響を与えるといわれている.しかし,コードクローンとソフトウェア品質の関係はこれまで定量的に明らかにされていない.本論文では,20年以上前に開発され,拡張COBOL言語で記述されたある大規模なレガシーソフトウェアを題材とし,代表的なソフトウェア品質である信頼性・保守性とコードクローンとの関係を定量的に分析した.信頼性の尺度として保守工程で発見された「フォールト数/LOC(Lines of Code)」を用い,保守性の尺度として「モジュールの改版数」を用いた.分析の結果,コードクローンを含むモジュール(clone-includedモジュール)は含まないモジュール(non-cloneモジュール)よりも信頼性(平均値)が約40%高いが,200行を超える大きさのコードクローンを含むモジュールは逆に信頼性が低いことが分かった.また,clone-includedモジュールはnon-cloneモジュールよりも改版数(平均値)が約40%大きく(すなわち,改版のためにより多くの保守コストが費やされてきた),さらに,モジュールに含まれるコードクローンのサイズが大きいほど改版数がより大きい傾向にあることが分かった.
著者
神谷 芳樹 バーカー マイク 松本 健一 鳥居 宏次 井上 克郎 鶴保 征城
出版者
特定非営利活動法人 産学連携学会
雑誌
産学連携学 (ISSN:13496913)
巻号頁・発行日
vol.2, no.2, pp.2_26-2_37, 2006 (Released:2007-09-20)
参考文献数
29

ソフトウェア工学の分野で計測に基づいて生産性や品質への貢献を目指すのがエンピリカルソフトウェア工学の立場である.そこでは研究対象としてのソフト開発現場の獲得が鍵となるがその実現は容易ではない.筆者らはこの立場から課題の解決を狙い,2003年からソフトウェア産業力強化を命題とする国の施策をトリガに新しい産学官連携の枠組みを構築した.本論ではこの試みの考え方と構成を示し,2年半余経過時の到達点,実現した産学での現場データ共有状況,明らかになった課題を報告する.そしてこの経験を一般化し,テクノロジー・アービトラージとマーケットメイクという金融界の概念に示唆を受けた産学の仲介者の役割に関する考察を示す.
著者
田中康 飯田元 松本健一
出版者
情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.46, no.5, pp.1233-1245, 2005-05-15

ソフトウェアプロセスの適切なモデル化は,開発のフレームワークを提供するとともに,継続的なプロセス改善のベースラインを提供する意味においても重要な課題である.しかし,従来のプロセスのモデルは,変化を続ける現実の開発活動を適切にモデル化することが困難なために,当初定義したプロセスモデルが利用されず形骸化してしまう問題が起こっていた.そこで我々は,継続的なプロセス改善への適用に有効なプロセスモデルとして,成果物間の関連に着目したプロセスのモデル化方法「PReP(Product Relationship Process)」モデルを開発した.実際の開発プロジェクトに適用した結果,PRePモデルは,現実の開発活動のモデル化,理解の容易性,モデル化の柔軟性,そして再利用性にすぐれていることを確認した.PRePモデルを使用することにより,開発活動の実行とプロセスの継続的改善に効果的に利用できるプロセスモデルを定義することができる.
著者
玉田 春昭 中村 匡秀 門田 暁人 松本 健一
出版者
電子情報通信学会
巻号頁・発行日
2007-10-01

名前難読化とは,プログラム中の名前(識別子)を別の名前に付け替えることで,プログラムを理解しづらいものにするソフトウェア保護手法である.従来の名前難読化手法は,各名前を静的に別の文字列で置換するものであり,プログラム中に現れる任意のユーザ定義の名前を隠ぺいできる.しかしながら,従来手法を用いてシステム定義の名前(標準ライブラリやAPIの呼出し等)を難読化することは,プログラムの移植性を著しく低下させるため,現実的に不可能である.そこで本論文では,オブジェクト指向言語を対象に,システム定義の名前をも隠ぺい可能な新たな名前難読化手法を提案する.具体的には,プログラム中の名前使用部分をあらかじめ暗号化しておき,実行時に名前を復号して当該処理を実行する,動的名前解決の仕組みを導入する.提案手法では,オブジェクト指向言語のリフレクション機構を用いて,クラスの参照,メソッド呼出し,フィールドの参照・代入に現れる任意の名前を動的解決する方法を実現している.また,提案手法をJavaプログラム用に実装し評価実験を行った.ある実用プログラムへの適用では,4.11倍の性能劣化でプログラム中のすべてのクラス名,メソッド名,フィールド名(計10,580回出現)を難読化できることが分かった.
著者
門田 暁人 伊原 彰紀 松本 健一
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.30, no.2, pp.2_52-2_65, 2013-04-25 (Released:2013-08-25)

ソフトウェアリポジトリマイニング(MSR)は,研究テーマの宝庫であり,大変魅力のある研究分野である.「ソフトウェアリポジトリ」という鉱山から,マイニング(宝探し)をすることで,新しい研究目的を見つけ出すことが研究の醍醐味となっている.特に,オープンソースソフトウェア(OSS)のリポジトリを対象とした研究が盛んであり,OSS開発の広がりとともにMSRの分野は発展してきた.本稿では,MSR研究の魅力,主な研究テーマ,マイニングの具体例,MSR分野の今後の発展について述べる.
著者
松本 健一
出版者
麗澤大学
雑誌
麗澤学際ジャーナル (ISSN:09196714)
巻号頁・発行日
vol.5, no.1, pp.A27-A33, 1997

二十一世紀は「アジアの世紀」だ、といわれる。これは十八、九世紀が「ヨーロッパの世紀」で、二十世紀が「アメリカの世紀」であったことを意識しつつ、「こんどはアジアの隆盛の時代だ」、という期待をこめていわれる言葉である。たしかに、二十世紀末の現在、アジアそれも東アジアは、世界経済のエンジン部分を構成しはじめている。ところが、そのアジアは十九世紀半ばの世界史にあっては、「停滞」のイメージで捉えられていたのである。それがこの一世紀あまりのあいだに、アジアのイメージは「停滞」から「抵抗」へ、そうして今や「発展」へと、百八十度の転換をとげている。これにはむろん、帝国主義の終焉、ならびにその変形としての覇権国家アメリカの衰退(これに対抗したソ連の解体)、という外的な状況が大きく関わっていよう。しかし、アジアがその世界史的イメージを、「停滞」から「発展」へと百八十度の転換するためには、それを可能にしたアジア自身の内的な本質が存在しなければならない。その内的な本質こそ、アジアがその文化、歴史、宗教、民族において多様でありながらも、一様に農耕文明に発する「内に蓄積する力」をもっていた事実が、まず認識されなければならない。しかし、アジアの「内に蓄積する力」としての共質性は、かつてヨーロッパ・アメリカ文明の牧畜文明を基底とした「外に進出する力」のまえに無力であった。ところが、二十世紀半ばに、日本をふくむ帝国主義が終焉した。そして、そのあと覇権国家のテリトリー・ゲームも終わって-これを終わりへと導いたのが、戦後日本のウェルス・ゲームであった-ゆくと、アジア諸国の「内に蓄積する力」が発展へと爆発しはじめたのだった。
著者
角田 雅照 伏田 享平 亀井 靖高 中村 匡秀 三井 康平 後藤 慶多 松本 健一
出版者
日本知能情報ファジィ学会
雑誌
知能と情報 (ISSN:13477986)
巻号頁・発行日
vol.23, no.6, pp.874-881, 2011-12-15 (Released:2012-02-08)
参考文献数
12
被引用文献数
2

本稿では,時空間情報(位置,移動時間,移動距離)と動作に基づく認証方法を提案する.ユーザは時空間情報で定義された特定の認証点において,特定の動作を行うことにより認証に成功する.ただし,時空間情報を認証に用いる場合,認証に時間が掛かり,やり直しが容易ではないため,正しいユーザが認証に失敗する確率を抑える必要がある.そこで,認証行為の部分的な誤りを許容する,部分一致認証を提案する.また,時空間文字を用いて安全性の評価方法を定式化するとともに,提案手法が安全性において有効であることを実験により示す.実験により提案方法の安全性を評価した結果,本人拒否率は0.233%,他人受入率は0.010%となった.
著者
門田 暁人 井上 克郎 松本 健一 岡原 聖 真鍋 雄貴 山内 寛己 Yamauchi Hiroki Okahara Satoshi Inoue Katsuro Monden Akito Manabe Yuki Matsumoto Kenichi マツモト ケンイチ モンデン アキト ヤマウチ ヒロキ オカハラ サトシ マナベ ユウキ イノウエ カツロウ
出版者
電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.108, no.362, pp.7-11, 2008-12-11

Generally, if a piece of code clone was found between two different programs, a plagiarism or a code reuse (program piracy) might be made. On the other hand, code clone also occurs accidentally or by code idioms. This paper experimentally derives the probability of program piracy based on length of code clone. In the experiment, we identified code clones among many different programs which we confirmed that program piracy has not been made, and formulated by power approximation the relation between the length of code clone and its derivation probability. By using this formula, we can compute the probability of program piracy from the maximum length of code clone derived from given two programs.一般に, プログラム間で一致するコード列(コードクローン)が見つかった場合, コードの盗用もしくは流用の疑いがある. 一方で, 独立に開発されたプログラム間で偶然(もしくは定型処理など)によりコードクローンが生じることもある. 本稿では, どの程度の長さのクローンであれば, 偶然に生じたものではないと言えるか, その判断基準を実験的に導出する.実験では, 独立に開発された(流用のない)多数のプログラム間で検出されるコードクローンの長さと個数を調査し, 最大クローン長とクローン検出確率の関係を算出した. そして, 偶然に生じうるコードクローンの検出確率を累乗近似により定式化した. 導出した式により, 2つのプログラム間の最大クローン長を計測することにより, 偶然や定型処理ではない, すなわち, 盗用や流用が行われた確率を求めることが可能となった.
著者
中才 恵太朗 尾上 紗野 畑 秀明 松本 健一
雑誌
研究報告ソフトウェア工学(SE) (ISSN:21888825)
巻号頁・発行日
vol.2016-SE-194, no.5, pp.1-6, 2016-11-10

オープンソースソフトウェア (OSS) への一般的な貢献方法として開発活動 (パッチ投稿,バグ報告など) があるが,運営団体への寄付も重要な貢献方法である.OSS の開発プロジェクトによっては,寄付を促進させるため特典を用意するなど,運営資金の収集に積極的である.本研究は,効果的な寄付の収集方法を明らかにするため,著名な OSS プロジェクトである Eclipse を対象として調査を行った.寄付者のリストとリリース状況を分析した結果,(1) 特典が寄付への動機づけとなっていること,(2) 全体的な寄付者のうち開発者の割合は少ないが,開発者の寄付額は開発者でないものより大きかったこと (3) リリース日には寄付が増えるが,バグ数が多いと寄付が落ち込むようにみえた.
著者
松本 健一 高木 三水珠
出版者
社団法人 環境科学会
雑誌
環境科学会誌 (ISSN:09150048)
巻号頁・発行日
vol.30, no.6, pp.346-356, 2017-11-30 (Released:2017-11-30)
参考文献数
25

今後,気候変動が進展すると予測される中,気候変動によるコメの生産量への影響が懸念され,影響回避のための適応策の推進が重要となる。本研究では,気象条件がコメの単収に及ぼす影響を1993~2014年の市町村レベルのパネルデータを用いて日本全国・地域別モデルにより分析した。さらに,パネルデータ分析の推計結果と気候変動シナリオに基づき,将来の気候変動がコメの生産に及ぼす影響と適応策の効果を分析した。分析の結果,コメの単収と気温の間には上に凸の二次関数の関係が,降水量・日照時間との間にはほとんどの地域で負・正の関係が見られた。そして,将来の気候変動の程度が大きい場合,多くの市町村で単収が減少するが,高緯度地域ではその影響が相対的に小さかった。適応策として栽培時期を1カ月前に早めた場合,ほとんどの市町村で影響が低減されることが示された。しかし,すべての影響が回避されるわけではなく,さらなる影響の低減には他の適応策の導入が同時に必要となる。
著者
齊藤 康廣 門田 暁人 松本 健一
雑誌
研究報告ソフトウェア工学(SE)
巻号頁・発行日
vol.2013-SE-179, no.5, pp.1-7, 2013-03-04

本稿では,自然言語で記述された提案依頼書 (Request For Proposal ;以下 RFP とする )に記載された非機能要件の記述の明確さを機械学習により評価する方法を提案する.提案方法では,まず,RFP から非機能要件に関するキーワード群を抽出し,個々の非機能要件の特性とマッピングさせる.次に,各キーワードの出現頻度と文脈ベクトルに着目して重み付けを行い,ランダムフォレストによって,非機能要件の記述の明確さをモデル化する.70 件の RFP を題材として,提案方法によって多数の非機能要件の記述の明確さを 3 段階で評価した結果,エキスパートによる評価に対する完全一致率の平均が 69.8 %となった.また,完全不一致率 (評価が 2 段階外れること) は極めて小さかった.このことから,エキスパートがいない状況においても,機械学習によって RFP の品質の自動評価をある程度行えることが分かった.
著者
柿元健 門田暁人 亀井 靖高 〓本真佑 松本 健一 楠本 真二
出版者
情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.50, no.7, pp.1716-1724, 2009-07-15
被引用文献数
2

ソフトウェアの信頼性確保を目的として,faultの有無を推定するモデル(faultproneモジュール判別モデル)が数多く提案されている.しかし,どのようにテスト工数を割り当てるのかといったfault-proneモジュール判別モデルの判別結果の利用方法についての議論はほとんどされておらず,信頼性確保の効果は不明確であった.そこで,本論文では,faultの有無の判別,テスト工数の割当て,ソフトウェア信頼性の関係のモデル化を行い,TEAR(Test Effort Allocation and software Reliability)モデルを提案する.TEARモデルにより,与えられた総テスト工数の枠内で,ソフトウェア信頼性が最大となるような(モジュールごとの)テスト工数割当ての計画立案が可能となる.TEARモデルを用いてシミュレーションを行った結果,推定される判別精度が高い,もしくは,fault含有モジュールが少ない場合には,fault-proneモジュールに多くのテスト工数を割り当てた方がよく,推定される判別精度が低い,もしくは,fault含有モジュールを多く含む場合には,判別結果に基づいてテスト工数を割り当てるべきではないことが分かった.Various fault-prone detection models have been proposed to improve software reliability. However, while improvement of prediction accuracy was discussed, there was few discussion about how the models shuld be used in the field, i.e. how test effort should be allocated. Thus, improvement of software reliability by fault-prone module detection was not clear. In this paper, we proposed TEAR (Test Effort Allocation and software Reliability) model that represents the relationship among fault-prone detection, test effort allocation and software reliability. The result of simulations based on TEAR model showed that greater test effort should be allocated for fault-prone modules when prediction accuracy was high and/or when the number of faulty modules were small. On the other hand, fault-prone module detection should not be use when prediction accuracy was small or the number of faulty modules were large.
著者
尾上 紗野 畑 秀明 松本 健一
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.56, no.2, pp.715-719, 2015-02-15

オープンソースソフトウェア(以下,OSS)開発には多くの開発者が携わっており,異なる特徴を持つ開発者が存在すると考えられる.開発者の特徴を明らかにすることで,OSSプロジェクトの成功に必要な開発者を明らかにできるなどのソフトウェア工学における新しい観点の発見が期待される.本稿ではGitHubで活発なOSSプロジェクトであるhomebrewとnodeに参加する開発者を活動履歴からクラスタリングし,その結果から開発者を分類した.クラスタリングで得られた樹形図を分析した結果,活発なOSSプロジェクトには迅速・議論型,迅速・総合型,悠然・総合型などの異なったタイプの開発者がいることが分かった.In open source software projects, there should be different types of developers. Clarifying the characteristics of developers may enable us to manage projects successfully. In this paper we studied developers in active projects in GitHub, homebrew and node. Based on the analysis of development activities in GitHub, we classified developers and found that there are different types of developers in active projects like fast-commenter, fast-generalist, and slow-generalist.
著者
吉村 巧朗 亀井 靖高 上野 秀剛 門田 暁人 松本 健一
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. KBSE, 知能ソフトウェア工学 (ISSN:09135685)
巻号頁・発行日
vol.109, no.307, pp.85-90, 2009-11-19
被引用文献数
1

デバッグ作業は,作業に従事する開発者ごとに効率に大きな違いが見られる.デバッグにおける開発者の行動から効率に影響を与えている要因を明らかにできれば,教育や支援に役立てることができる.そこで本研究では、デバッガを使用したデバッグ行動について分析し,上手な人と下手な人の間にどのような差異が存在するのか明らかにすることを目的とした.そのアプローチとして,多くのデバッガが実装しているブレークポイント機能に着目し,その使用履歴よりプログラマの特徴を分析した.150行程度のJavaプログラムを題材とした実験の結果,次のような知見が得られた.デバッグの下手な人は,連続した行にブレークポイントを設置する傾向がある.また上手い人には,ブレークポイントを用いた実行を頻繁に行う傾向がある.
著者
角田雅照 門田暁人 松本健一 大岩佐和子 押野智樹
雑誌
研究報告ソフトウェア工学(SE)
巻号頁・発行日
vol.2014-SE-186, no.12, pp.1-7, 2014-11-06

近年,情報システムの規模の増大や,システム運用の外部委託の進展に伴い,システム運用に関する注目が高まっている.システム運用費用が妥当であるかどうかは,システム運用の委託側企業にとって判断が難しい.本稿では,委託側企業がシステム運用費用の妥当性判断の参考となるような情報の提供を目指し,システム運用費用に影響を与える要因の分析を行った.受託側の作業時間と運用費用は非常に関連が強いため,受託側作業時間を把握することができれば,標準的な運用費用を推定することができる.ただし,受託側作業時間を委託側企業が把握することは一般に容易ではない.そこで本稿では,作業時間と技術者の単価から簡易的に価格を推定することを前提とし,作業時間と単価に影響する要因を個別に分析した.その結果,作業時間はプログラム本数と最大利用者数から決まることや,ネットワーク範囲が狭い場合,単価が低くなる傾向があることがわかった.
著者
齊藤 康廣 門田 暁人 松本 健一
雑誌
研究報告ソフトウェア工学(SE)
巻号頁・発行日
vol.2013, no.5, pp.1-7, 2013-03-04

本稿では,自然言語で記述された提案依頼書 (Request For Proposal ;以下 RFP とする )に記載された非機能要件の記述の明確さを機械学習により評価する方法を提案する.提案方法では,まず,RFP から非機能要件に関するキーワード群を抽出し,個々の非機能要件の特性とマッピングさせる.次に,各キーワードの出現頻度と文脈ベクトルに着目して重み付けを行い,ランダムフォレストによって,非機能要件の記述の明確さをモデル化する.70 件の RFP を題材として,提案方法によって多数の非機能要件の記述の明確さを 3 段階で評価した結果,エキスパートによる評価に対する完全一致率の平均が 69.8 %となった.また,完全不一致率 (評価が 2 段階外れること) は極めて小さかった.このことから,エキスパートがいない状況においても,機械学習によって RFP の品質の自動評価をある程度行えることが分かった.This paper proposes a machine learning approach to evaluate the clarity of non-functional requirements (NFRs) described in a Request For Proposal (RFP) written in a natural language. In the proposed method, keywords related to NFRs are extracted from a RFP, and mapped to each NFR category. Then, the clarity of NFRs is modeled by the random forest with weight factors based on appearance frequency and context vectors. As a result of an experimental to evaluate the clarity (low, mid or high) of many NFR categories in 70 RFPs, the proposed method showed 69.8% match to the expert's decision. Also, there were few cases where the model concluded as clarity=high while expert concluded clarity=low, and vice versa. These results suggest that the proposed machine learning approach could be used to automatically evaluate the quality of RFP without experts.
著者
松本 健一 中村 匡秀 水野 修 森崎 修司 大平 雅雄 門田 暁人
出版者
奈良先端科学技術大学院大学
雑誌
基盤研究(B)
巻号頁・発行日
2011-04-01

本研究では,高い専門性を要するソフトウェア開発作業を,不特定多数の個人にインターネット技術を使って外注する「クラウドソーシング」と,それら個人間での「群集知形成」を支援する超分散開発基盤技術を開発した.具体的には,「多言語対応コミュニケーション・知識形成基盤」と「Lightweight & Massive PDCAサイクル基盤」の2つを開発し,実証実験によってその妥当性,有用性を評価した.個人を単位とした新たな超分散開発形態は,ソフトウェア開発における多重請負構造を解消し,開発リスク低減とソフトウェア品質向上をもたらす.