著者
石居達也 小堀一雄 松下誠 井上克郎
雑誌
研究報告組込みシステム(EMB)
巻号頁・発行日
vol.2013-EMB-29, no.1, pp.1-8, 2013-05-20

Java では,フィールドおよびメソッドに対してアクセス修飾子を宣言することで,外部からアクセス可能な範囲を制限することができる.しかし,既存ソフトウェアには実際の利用範囲に対して過剰に広く設定されているアクセス修飾子が多数存在することが知られている.一方で,それらのアクセス修飾子の修正状況については,過去に分析が行われていない.そこで本研究では,ソフトウェア開発の履歴を対象として,過剰なアクセス修飾子に対する修正作業の実行頻度について分析した.分析対象とするデータは,既存のアクセス修飾子過剰性検出ツールを拡張して既存の 7 つの Java プロジェクトから取得した.分析を行うに当たり,宣言されているアクセス修飾子と実際の利用範囲に基づき,フィールドおよびメソッドを 3 状態へ分類した.さらに,バージョン間における状態遷移を,性質ごとに 6 つのグループへと分類した.その結果,過剰なアクセス修飾子の大半は,修正されずそのまま放置されていることを確認した.一方,一部の種類の過剰なアクセス修飾子については,分析対象の全プロジェクトにおいて修正が行われていることを確認した.
著者
島田 隆次 市井 誠 早瀬 康裕 松下 誠 井上 克郎
出版者
情報処理学会
雑誌
情報処理学会研究報告ソフトウェア工学(SE) (ISSN:09196072)
巻号頁・発行日
vol.2008, no.112, pp.31-38, 2008-11-12

クラスやメソッドなどソフトウェアの構成要素であるソフトウェア部品を再利用することで,ソフトウェアの品質や生産性が向上するといわれている.開発者はソフトウェア部品検索システムを用いたキーワード検索により再利用可能なソフトウェア部品を得ることができる.しかしキーワード検索を用いた再利用には,開発者が意識しないと検索が行われないなどの問題点がある.それに対して,開発者の指示なしに自動的にソフトウェア部品を検索する手法が提案されているが,その手法では入出力仕様が完全に一致するものを検索するため,入出力仕様に変更を加えれば再利用できるような部品は発見できない.そこで本稿では,そのようなソフトウェア部品も検索できるソフトウェア部品の自動推薦手法を提案する.提案手法では,ソースコード中に数多く現れるコメントや識別子を利用し,自然言語に対する検索手法である LSI を応用して暖昧さを許容する検索を行うことで,多少の変更を加えれば再利用できるようなソフトウェア部品も推薦することができる.また,提案手法を実装したソフトウェア部品の自動推薦システムを作成した.Reusing software components like classes and modules improves software quality and productivity. Software developers often retrieve available components by keyword search using software component retrieval system. However the developers who will not search for components can not retrieve reusable components. To address this issue, software component retrieval technique without developer's instruction was proposed. However developers can not discover available components that need change using the technique because it searches components having same input and output specification to requested one. In this paper, we propose the automatic software component recommendation technique that can retrieve such software component. Proposed technique vaguely retrieves reusable components including the ones that requires small modification to reuse based on the LSI technique using comments and identifiers in source code. In addition, we have developed the automatic software component recommendation system that implements the proposed technique.
著者
市井 誠 松下 誠 井上 克郎
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会論文誌. D, 情報・システム = The IEICE transactions on information and systems (Japanese edition) (ISSN:18804535)
巻号頁・発行日
vol.90, no.7, pp.1733-1743, 2007-07-01
参考文献数
19
被引用文献数
2

ソフトウェア部品とはモジュールや関数,クラス等のソフトウェアの構成単位であり,参照や呼出しなどの形で互いに利用関係をもつ.ソフトウェア部品を頂点,利用関係を有向辺としたグラフはソフトウェア部品グラフ(部品グラフ)と呼ばれ,ソフトウェアの解析手法に広く用いられている.グラフを特徴づける要素として頂点の次数分布がある.近年,WWW上のページのリンク関係やソーシャルネットワーク等,様々な分野のグラフで次数分布がべき乗則に従うことが明らかになり,活発に研究されている.本論文では,Javaソフトウェアに含まれるクラス間の静的な利用関係に基づく部品グラフの次数分布にべき乗則が成り立つかどうかを調査した.その結果,一つのソフトウェア及び大規模なソフトウェアの集合に関し,入次数の分布がべき乗則に従い,出次数の分布は次数の大きな範囲でのみべき乗則に従うことが明らかになった.また,一部の部分集合においても同様の性質が成り立ち,特に,単語に基づく部分集合は非常に少ない部品数でも全体集合と同様の性質をもつことが明らかになった.
著者
伊達 浩典 石尾 隆 松下 誠 井上 克郎
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.1, pp.1_220-1_226, 2015-01-26 (Released:2015-02-11)

A coding pattern is a sequence of method calls and control structures, which appears repeatedly in source code. In this paper, we have extracted coding patterns of each version of ten Java programs, and then explored the number of versions in which the coding patterns appear. This paper reports the characteristics of coding patterns over versions. While learning from coding patterns is expected to help developers to perform appropriate modifications and enhancements for the software, many coding patterns are unstable as similar to the result of clone genealogy research.
著者
山本 哲男 松下 誠 井上 克郎
出版者
一般社団法人日本ソフトウェア科学会
雑誌
コンピュータソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.18, no.3, pp.250-260, 2001-05-15
被引用文献数
1

近年,ハードディスクの容量は飛躍的に大きくなり,その値段は急速に低下してきている.ディスク容量が十分に大きければ,不要なファイルを消す必要がなく,変化する全てのバージョンを保存できると考えられる.本論分では,まず自動的に全てのファイルの変更を保存する堆積型ファイルシステムMoraineを提案する.Moraineでは常に最新のバージョンが透過的に操作可能であり,記録されたバージョンを容易に取り出すことが可能である,また,Moraineを用いたソフトウェアメトリクス環境であるMAME(Moraine As a Metrics Environment)を提案する.MAMEはソフトウェア開発に用いることにより,開発の途中あるいは終了時にさまざまなメトリクスデータを収集し分析することを可能にする.
著者
川口 真司 ガーグ パンカジ 松下 誠 井上 克郎
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会論文誌. D-I, 情報・システム, I-情報処理 (ISSN:09151915)
巻号頁・発行日
vol.88, no.8, pp.1217-1225, 2005-08-01
被引用文献数
6

近年, ネットワークの発達と分散ソフトウェア開発の普及に伴い, 大規模なソフトウェアリポジトリが一般的なものとなってきている. ソフトウェアリポジトリとはソースコードやドキュメント, バグレポート等の各プロジェクトの成果物を蓄積するためのデータベースである. 通常, ソフトウェアリポジトリは膨大な数のプロジェクトを保持しているため, 例えば, 開発者が現在開発中のものと似ているプロジェクトを捜したり, 管理者が会社内で走っている全プロジェクトを俯瞰するといったことに活用できる. しかし, 保持内容が膨大なためにプロジェクト同士の関連を判定して整理するには非常な労力を必要とする. そこで, 我々はソフトウェアを自動的に分類するMUDABlueシステムを作成した. MUDABlueの特長は以下の四つである. (1)分類にはソースコードのみを使用, (2)分類先となるカテゴリー集合も自動的に決定する, (3)ソフトウェアを二つ以上のカテゴリーに分類することを許す, (4)Webインタフェースで分類結果を表示する. 本論文では既存の分類手法との比較を通じてMUDABlueシステムの有効性を議論する.
著者
市井 誠 松下 誠 井上 克郎
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会技術研究報告. SS, ソフトウェアサイエンス (ISSN:09135685)
巻号頁・発行日
vol.105, no.491, pp.37-42, 2005-12-13
被引用文献数
1

スケールフリー性とはグラフ中のノードの接続辺数がべき分布に従う性質であり, インターネット上のノードなど様々な対象において確認されている.ソフトウェア部品間の利用関係をあらわす部品グラフにおいても, 大部分の部品はほとんど利用関係を持たないのに対してごく少数の部品が非常に多くの利用関係を持つスケールフリー性をもつことが知られている.利用関係はソフトウェアの設計が反映されたものであることから, 部品グラフにおける接続辺数の分布から設計に関する情報が得られると考えられるが, 設計による接続辺数の分布の違いは知られていない.本研究では, ソフトウェアによる接続辺数の分布の違いを入力辺数と出力辺数に分けて調査をおこない, ソフトウェアおよび含まれる部品の性質との関連について調査する.その結果, 入力辺数および出力辺数の分布はソフトウェアの設計や含まれる部品により異なることが判明した.また, 得られた結果より, 理解支援やソフトウェア評価を目的として, 部品グラフの接続辺数の分布からソフトウェアの設計に関する特徴の分析をおこなう手法について考察する.