Evaluating Structural Validity of UML Class Diagrams by Measuring the Number of Highly Responsible Classes accepted at IASTED SE2014 (CORE Rank C).

Naohiko Tsuda, Hironori Washizaki, Yoshiaki Fukazawa, “Evaluating Structural Validity of UML Class Diagrams by Measuring the Number of Highly Responsible Classes,” 13th IASTED International Conference on Software Engineering (SE2014), Innsbruck, Austria, February 17 – 19, 2014. (to appear) (iastedDocVer5-6eng.pdf)

Design models are often developed using UML class diagrams. In past questionnaire surveys, Lange and Nugroho reported that designers tend to write the important or complex parts of a design model in detail. Thus, we presume that a design class diagram in which some parts are more important will contain classes with both high and low responsibility. Moreover, we hypothesize that a design class diagram containing few highly responsible classes has low validity. In this study, we calculated four basic class metrics (the number of attributes (NAttr), operations, associations and subclasses) and our novel metrics (e.g. the number of larger values of NAttr). All metrics were calculated using 65 design class diagrams, which were originally submitted to a Robot Contest on the domain of embedded systems and evaluated by software development experts based on the understandability of the system, adequacy of responsibility assignment, etc. Then the relations between our metrics and the experts’ qualitative assessment were analyzed. Consequently, the usefulness of our metrics and our hypothesis are confirmed empirically.

論文「フィーチャ分析と充足可能性判定を用いたシステムテストに向けたシステム構成導出」が情報処理学会論文誌に採択されました。

新原 敦介、小川 秀人、鷲崎 弘宜、”フィーチャ分析と充足可能性判定を用いたシステムテストに向けたシステム構成導出”、情報処理学会論文誌「ソフトウェア工学」特集号、2014年2月刊行予定 http://www.ipsj.or.jp/journal/info/sairoku.html

論文”Refactoring Script:複合リファクタリングを適用可能な リファクタリングスクリプトと処理系” が情報処理学会論文誌プログラミング に採択されました。

神谷知行, 坂本一憲, 鷲崎弘宜, 深澤良彰, “Refactoring Script:再利用可能なリファクタリングスクリプトと処理系”, 情報処理学会論文誌プログラミング(PRO), Vol.6, No.XX, pp.XX-YY, 2013. (RefactoringScript-pro.pdf) (to appear)

概要

リファクタリングはコード体質改善の手法として広く知られているが,手動での実行はコストが高く欠陥を埋め込みやすいため,リファクタリングツールが多数提案されている.しかし,これらのツールは単体の単純なリファクタリングの実行を支援するものであり,リファクタリングによるデザインパターンの導入など,複雑なリファクタリングを行うのは難しい.すなわち,単体のリファクタリングを複数種類組み合わせて逐次実行したり,複数箇所に対してあるいは複数回数繰り返してリファクタリングを実行することは困難である.そこで我々は,Java ソースコードを表現可能なモデルを用いて,リファクタリング内容やその適用箇所の指定を記述できるスクリプトおよびその処理系を提案する.複雑なリファクタリングを簡潔に記述でき,少ないコストで複雑なリファクタリングを実行できること,またプロジェクト横断的に再利用できることを評価実験で確認し,本手法の有用性を示した.

“メトリクス測定に基づくオープンソースプロジェクトにおける実証的研究”が第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀にショートペーパ採択されました。

高澤 亮平、坂本 一憲、鷲崎 弘宜、深澤 良彰、”メトリクス測定に基づくオープンソースプロジェクトにおける実証的研究”、第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀、石川県加賀市山代温泉、2013年11月28-30日 (fose2013_submission_39.pdf)

オープンソースプロジェクトのリポジトリを解析することで、ソフトウェア開発に有益な知見を収集する研究が盛んに行われている。しかし、ソフトウェアテストに関する情報を収集する試みは少ない。本稿では、オープンソースリポジトリマイニングツールを実装し、GitHub 上の495のオープンソースプロジェクトを対象として、ソフトウェアテストに関するいくつかのメトリクスを測定する。また、テストを実行し、その結果を収集する。以上の結果から、オープンソースプロジェクトにおけるテストの現状を明らかにする。実験の結果、テストコードが存在するプロジェクトは88%に上ったものの、テスト実行が正常に行われるプロジェクトは34%にとどまり、さらにはテスト実行が成功するプロジェクトは21%にとどまることが明らかになった。

“責務の割り当てに着目した設計クラス図の機能性・保守性評価”が第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀にショートペーパ採択されました。

津田 直彦、鷲崎 弘宜、深澤 良彰、”責務の割り当てに着目した設計クラス図の機能性・保守性評価”、第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀、石川県加賀市山代温泉、2013年11月28-30日 (fose2013_submission_38.pdf)

定性評価は主にクラス図単位で与えられる。そのため定性評価と照らし合わせたクラス図同士の比較では、クラス図単位で集約されたメトリック測定値を用いる。しかし一般的な集約手法でクラスの関連数を集約すると、個々のクラスの関連数が多いか少ないかに関する情報は集約時に切り捨てられてしまう。これは他のクラスメトリックについても同様である。責務の大きさを表すメトリックの測定値がある値(閾値) より大きければ、そのクラスは責務が大きいと考えられる。そこで我々は責務が大きいクラスを数えることで、従来は見落とされやすかったクラス図内の責務割り当ての特徴を表せると考えた。我々は評価実験により提案手法と従来のメトリック集約手法と比較し、提案手法の有用性を確認した。そして提案手法を用いた分析により、責務が大きいクラスが多く存在する設計クラス図では保守性・機能性に関する定性評価が高いことがわかった。ここでいう保守性・機能性とは、システムのわかりやすさや機能実現の際の責務割り当ての適切さのことである。これらから、クラスに割り当てる責務が十分に検討されているクラス図は、システムの中心となる責務が大きいクラスとそれに関わる責務の小さいクラスを含むものになると考えられる。

“Portland Pattern Repository上のソフトウェアパターン群に対するネットワーク分析”が第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀にショートペーパ採択されました。

角谷 将司、鷲崎 弘宜、川村 健、深澤 良彰、”Portland Pattern Repository上のソフトウェアパターン群に対するネットワーク分析”、第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀、石川県加賀市山代温泉、2013年11月28-30日 (fose2013_submission_46.pdf)

ソフトウェアパターンの収集サイトPortland Pattern Repository(以下PPR)にネットワーク分析の手法を適用し,パターンの参照関係の位置を示す指標である中心性を算出し,パターン間の参照関係の構造的特徴を明らかにした.また,PPRに記載されている各パターンの履歴情報についてデータ分析を行った.分析の結果,使用頻度の高いと思われるパターンは次数中心性が高い傾向となった.このことは適用するパターンの検討や新たなパターンの抽出に有用であると考えられる.

“ホワイトボックス単体テストにおけるペアテスティング”が第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀にショートペーパ採択されました。

坂本 一憲、本田 澄、鷲崎 弘宜、深澤 良彰、”ホワイトボックス単体テストにおけるペアテスティング”、第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀、石川県加賀市山代温泉、2013年11月28-30日 (fose2013_submission_45.pdf)

ペアプログラミングはソフトウェアの品質を向上もしくはペアの相方に対する教育や知見の共有効果があることが分かっている.ペアプログラミングは2 人組のエンジニアがソフトウェアを実装する手法であり,テストの工程に適用する場合はペアテスティングと呼ばれている.しかし,既存研究ではテストの工程に限定したペアテスティングに関する議論がほとんどされておらず,実際にペアテスティングによってどの程度欠陥の検出能力が向上するのか分かっていない.本論文では,1) 2 人組のペアが2 台のパソコンで協力をしない,2) 2 人組のペアが1 台のパソコンで協力をする,3) 2 人組のペアが2 台のパソコンで協力をする,3 種類のテストコードの記述方法について,被験者による比較実験を通してどの方法が最もテストの品質に良い効果を与えるかを明らかにする.36名18 組に対する実験の結果,概してテストコードの品質は,3) 2 台で協力する場合に最も良く,2) 1 台で協力する場合に最も悪かった.

“ゲーミフィケーションを用いたバグパターンによる欠陥除去の促進”が第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀にショートペーパ採択されました。

新井 慧、坂本 一憲、鷲崎 弘宜、深澤 良彰、”ゲーミフィケーションを用いたバグパターンによる欠陥除去の促進”、第20回 ソフトウェア工学の基礎ワークショップ FOSE 2013 in 加賀、石川県加賀市山代温泉、2013年11月28-30日 (fose2013_submission_36.pdf)

プログラムの欠陥を検出する静的解析ツールは,ソフトウェアに作りこまれた欠陥の早期発見に役立つことが知られている.一方,欠陥の誤検出や些細な欠陥の報告が多すぎるといった問題点があり,その有用性にもかかわらず静的解析ツールの普及は進んでいない.上述の問題点を解決するため,より正確な静的解析を実現するための研究が広く進められている.しかし,これらの研究は,検出数の多さから欠陥が無視されがちになる問題を直接的に解決するための研究ではない.本論文では,静的解析ツールを利用する開発者の欠陥修正に対するモチベーションを向上させ,報告された欠陥がより多く修正されるような仕組みを提案する.静的解析の結果をわかりやすく可視化し,報告される欠陥をより多く修正させるように動機づけることで,開発者が報告される欠陥を無視しがちになる問題を緩和し,ソフトウェアの品質向上を図る.提案する仕組みの有用性を確認するため,提案する仕組みを導入したツールを開発し,被験者実験を行った結果,ツールを利用することによっておよそ1.5 倍ほど多くの欠陥が修正されることを確認した.

“Effects of Organizational Changes on Product Metrics and Defects” accepted at APSEC 2013.

Seiji Sato, Hironori Washizaki, Yoshiaki Fukazawa, Sakae Inoue, Hiroyuki Ono, Yoshiiku Hanai and Mikihiko Yamamoto, “Effects of Organizational Changes on Product Metrics and Defects,” Proceedings of the 20th Asia-Pacific Software Engineering Conference (APSEC 2013). pp.XX-YY, Bangkok, Thailan, 2-5 December 2013. (APSEC2013-paper.pdf)

Abstract

The development organization often changes during software development. Derivative developments, forks, and change of developers due to acquisition or open-sourcing are some conceivable situations. However, the impact of this change on software quality has yet to be elucidated. Herein we introduce the concept of origins to study the effects of organizational changes on software quality. A file’s origin is defined as its creation and modification history. Using the concept of origins, we analyze two open source projects, OpenOffice and VirtualBox, which were each developed by a total of three organizations. We conduct statistical analysis to investigate the relationship between the origins, product metrics, the number of modifications, and defects. Results show that files that are modified by multiple organizations or developed by later organizations tend to be faultier due to the increase in complexity and modification frequency.