カテゴリー別アーカイブ: 未分類

Detecting Design Patterns in Object-Oriented Program Source Code by using Metrics and Machine Learning accepted at Special Issue on Design Patterns of Journal of Software Engineering and Applications

Satoru Uchiyama, Atsuto Kubo, Hironori Washizaki, Yoshiaki Fukazawa, “Detecting Design Patterns in Object-Oriented Program Source Code by using Metrics and Machine Learning”, Special Issue on Design Patterns, Journal of Software Engineering and Applications, Vol.7, No.X, pp.XX-YY, 2014. (to appear) (JSEA-DP-2014.pdf)

Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques; however many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.

Relationships Between Variations of Personal Characteristics and Educational Effectiveness in Group Assignment of Software Intensive Systems Development accepted at INTED 2014. (oral presentation)

Shota Inaga, Hironori Washizaki, Yusuke Yamada, Katsuhiko Kakehi, Yoshiaki Fukazawa, Shoso Yamato, Masashi Okubo, Teruhiko Kume, Manabu Tamaki, “Relationships Between Variations of Personal Characteristics and Educational Effectiveness in Group Assignment of Software Intensive Systems Development,” Proceedings of the 8th International Technology, Education and Development Conference (INTED 2014), pp.XX-YY, March 10-12, 2014, Valencia, Spain

In this study, we use the Five Factors and Stress (FFS) theory to quantify the personal characteristics and we ask students to answer same questionnaire before and after the lecture to measure how improved their knowledge and skills. This questionnaire consists of about 40 questions and each student answers them in six degrees. As example of the questions, there is “Can you analyse requirements?”. In many cases, the business of acquiring and providing software intensive business systems is carried out as a team-based activity. Therefore, to teach actual business concepts, we randomly compose teams regardless of personal characteristics. The number of teams formed was 6, 4 and 8 for 2011, 2012 and 2013, respectively. This is an additional study of our paper and as significant differences, we add the data of the lecture of 2013 in Waseda University and we analyse the data through 3 years (2011 – 2013).

We investigate the relationships between personal characteristics and educational effectiveness to reveal the common tendency. As a result, we clearly see that variations in the team members’ personal characteristics have an effect on educational effectiveness from t-test and boxplot. It is better for a team to have members with different characteristics in FFS theory for acquiring more knowledge and skills through lecture. It is expected that in similar practical lectures, we can also obtain the desirable educational effectiveness if we can compose a team with the suitable characteristics as based on our findings.

Semi-automatic Incompatibility Localization for Re-engineered Industrial Software accepted at IEEE ICST 2014 Industry Track

Susumu Tokumoto, Kazunori Sakamoto, Kiyofumi Shimojo, Tadahiro Uehara and Hironori Washizaki, “Semi-automatic Incompatibility Localization for Re-engineered Industrial Software,” Proceedings of the 7th IEEE International Conference on Software Testing, Verification and Validation (ICST 2014), pp.XX-YY, Cleveland, March 31-April 4, 2014. (to appear) https://sites.google.com/site/icst2014/home

記事「ソフトウェア品質の知識体系」を情報処理 2014年1月号(Vol.55, No.1)に寄稿しました。

鷲崎 弘宜, “ソフトウェア品質の知識体系”, 情報処理 2014年1月号(Vol.55, No.1), 2014. (to appear) (校正前ドラフトPDF)

ソフトウェア品質に関わる技術活動が「正統なエンジニアリング」であるために,知識体系とその形成や社会貢献を担うコミュニティが必要である。本稿では,情報システムやソフトウェア全般の知識体系の広がりを取り上げ,その中で特にソフトウェア品質に関する知識体系の現状と改訂予定,および活用方法を述べる。そのうえで,知識体系が乱立する今日から将来における一つの展望として,特定領域の専門性を確保するという意味では閉じていて,他領域との接続について開かれているという「オープン・クローズド(Open-Closed)」化を議論する。

「システム企画局面における戦略的意思決定」第9回情報システム学会全国大会・研究発表大会 11月30日

横田真人、雨谷幸郎、井出昌浩、原田龍一、鷲崎弘宜、”システム企画局面における戦略的意思決定”、第9回情報システム学会全国大会・研究発表大会、新潟国際情報大学 新潟中央キャンパス、11月30日 (to appear) http://www.issj.net/conf/issj2013/

「システム企画局面における戦略的意思決定の考察」情報処理学会 第126回情報システムと社会環境研究発表会 12月2日

横田真人、雨谷幸郎、井出昌浩、原田龍一、鷲崎弘宜、”システム企画局面における戦略的意思決定の考察”、情報処理学会 第126回情報システムと社会環境研究発表会、室蘭工業大学 東京オフィス・青山、12月2日(to appear)http://ipsj-is.jp/2013/11/is126/

 

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%にとどまることが明らかになった。