“リスク算出式を変更可能なバグローカリゼーションフレームワーク”をソフトウェアエンジニアリングシンポジウムSES2013 併設ワークショップ「プログラム・デバッグ自動化の現状と今後」に投稿しました。

坂本 一憲、下條 清史、徳本 晋、上原 忠弘、杉本 元気、本田 清、鷲崎 弘宜、深澤 良彰、”リスク算出式を変更可能なバグローカリゼーションフレームワーク”、ソフトウェアエンジニアリングシンポジウムSES2013 併設ワークショップ「プログラム・デバッグ自動化の現状と今後」、2013年9月11日  (PDF, SES2013_WS1)

概要

バグローカリゼーションはソースコード中のバグの位置を推定することで,デバッグに必要な労力を削減する有用な手法である.我々は過去に複数のプログラミング言語に対応して,かつ,ステートメントなどのプログラム要素の実行履歴を元に計算するリスク算出式を変更可能な,バグローカリゼーションフレームワークを提案した.本論文では既存研究のバグローカリゼーション手法が利用する情報を整理することで,提案フレームワークがどのような手法に対応可能であるかを議論する.

“ゴール指向の測定評価と留意 – GQMパラダイムと拡張 -” をメトリクス公団 Vol.1に寄稿しました。

鷲崎弘宜、”ゴール指向の測定評価と留意 – GQMパラダイムと拡張 -”、メトリクス公団、Vol.1、TEF東海メトリクス勉強会、2013.

概要

測定は、明確な目標を伴うものでなくてはならない。さもなくば、測ることが目的化してしまいかねない。事実、「ツールで測っているけれど誰も結果を使っていない」といった測定が形骸化した状況や、「追加で測れと言われても余計なことはしたくない」といった測定への抵抗感をしばしば耳にする。

明確に目標を据えて、目標に対して必要なメトリクスを対応付けるゴール指向(目標指向)な枠組みとして、Basiliらにより考案されたGoal/Question/Metricパラダイム(以降GQMパラダイム)が知られている。しかしGQMパラダイムそのものは、測定上の目標を上位の目標(例えば組織の目標)へと結びつける仕組みを提供しない。そこで同じくBasiliらによって、GQMパラダイムをベースとして、組織活動における組織目標や戦略、さらには測定上の目標を結びつけるGQM+Strategiesが考案されている。

また他にも、メトリクスの導出に至る際の事実と仮定の区別など、GQMパラダイムの適用にあたり考慮すべき様々な事柄があり、対応した様々な拡張が提案されている。そこで本稿では、最初にGQMパラダイムの概要を解説し、続いてその留意点とGQM+Strategiesを中心とした拡張を解説する。

“不確定性と時間変化を含む一般化信頼性モデル” をメトリクス公団 Vol.1に寄稿しました。

鷲崎弘宜、本田澄、深澤良彰、”不確定性と時間変化を含む一般化信頼性モデル”、メトリクス公団、Vol.1、TEF東海メトリクス勉強会、2013.

概要

昨今、開発において様々な課題があげられている。ソフトウェア開発において開発の見積もりや工数の予測については、経験や勘といった属人的要素をもって判断材料とすることがほとんどである。また、比較的早期な開発や、人員の不足が蔓延しており、開発の終了をどのようにして決定していいかどうか、明確な基準がない。

従来の研究において、こうした課題に対していくつかの提案がなされてきた。一つは、どれだけの規模のソフトウェアになるか見積もることである。過去の開発実績に基づき新たに開発するソフトウェアに対して、工数やLOCを見積もる、デルファイ法やCOCOMOなどが挙げられる。もう一つは、開発する規模に応じてどれだけの欠陥を発見すれば開発を終了とみなせるかどうかを予測することである。この、欠陥の予測については様々な手法が提案されている。特にソフトウェア信頼性モデルが有名である。

ソフトウェア信頼性モデルでは、実際の開発から得られた発見された欠陥数と時間の関係を統計的に解析するモデルとして、ゴンペルツ曲線モデルやロジスティック曲線モデルが用いられる。この方法は実際のデータに対して近似曲線へのあてはめを行うものであり、欠陥の発見に根拠を考慮したものではない。本稿では、欠陥の発見に確率的原因を根拠とし,考慮し確率モデルを用いた、非同次ポアソン過程(non-homogeneous Poisson process:以下、NHPPと省略する)モデルについて説明を行い、我々が提案するモデルと比較を行う。

従来の信頼性モデルでは開発における時間変化や不確定性を十分に考慮することができないため,我々は開発における時間変化と不確定性を考慮した新しいモデルを提案する。この2つを考慮したモデルを用いることで、開発期間をより精度よく予測できるようになり、事前に精度よく見積もることが可能となる。

“アジャイル開発習得ワークショップの傾向と効果”をUltimate Agile Stories Iteration3に寄稿しました。

鷲崎弘宜、鈴木翔太、”アジャイル開発習得ワークショップの傾向と効果”、Ultimate Agile Stories Iteration3、2013.

概要

アジャイル開発の手法や原則・マインドについて理解を深めて習得するために様々なワークショップが開催されていますが、その効果はこれまで必ずしも明らかではありませんでした。習得のためには他にも、独学や講義などの様々な形態があります。有効な範囲や前提・効果に応じて、それらを使い分けたり組み合わせることで、限られた時間やリソースを効率よく用いて効果的な習得を進められることが期待できます。そこで私の研究グループでは、アジャイル開発の手法や原則・マインドの習得に関するワークショップの最近の実施状況を、Web検索によって調査しました。そのうえで習得内容を幾つかの原則とその習得ワークショップに絞り、被験者実験によって、調査した範囲においては書籍による独学よりもワークショップのほうが学習効果があることを確認しました。学習効果の定量化については、習得度測定テストとして「アジャイルマインドチェック」を作成して用いました。本稿では、その方法や結果の要点を以下に説明します。

“Learning System for Computational Thinking using Appealing User Interface with Icon-Based Programming Language on Smartphones” accepted at 21st International Conference on Computers in Education (ICCE 2013) as short paper.

Kazunori Sakamoto, Koichi Takano, Hironori Washizaki, Yoshiaki Fukazawa, “Learning System for Computational Thinking using Appealing User Interface with Icon-Based Programming Language on Smartphones,” Proceedings of the 21st International Conference on Computers in Education (ICCE 2013), pp.XX-YY, November 18-22, Grand Inna Bali Beach Hotel, Denpasar Bali, Indonesia, 2013. (short paper)(PDF)

Abstract

Computational thinking is one of the most important skills for using computers. Most existing learning environments for computational thinking work only on desktop or laptop
computers although the popularity of smartphones has rapidly been growing. Moreover, Most existing programming languages are based on English. However, Japanese students tend to not like such languages due to English. We propose a gamified learning system using an appealing user interface with a novel icon-based non-verbal programming
language. Our system works on smartphones with which many Japanese teenager students are more familiar than PCs. Our system uses an appealing interface and icons to motivate university students to learn programming through playing. We applied an appealing interface which a female student designs for other female students into our system, and then, conducted an experiment with 16 female students from Waseda University in Tokyo, Japan to evaluate our system. We confirmed our system encouraged and motivated the students to learn programming.

“Systematic Mapping of Workshops for Learning Agile Software Development Principles” accepted at International Conference on Edcuation and Educational Research (EER 2013).

Hironori Washizaki, Shota Suzuki, Ryushi Shiohama, Masashi Kadoya, Kazunori Sakamoto and Yoshiaki Fukazawa, “Systematic Mapping of Workshops for Learning Agile Software Development Principles,” Proceedings of the International Conference on Edcuation and Educational Research (EER 2013), pp.XX-YY, August 11-12, Singapore, 2013.(PDF)

Abstract

Agile software development is aimed at minimizing overall risk and encouraging rapid and flexible response to specification changes by using an iterative process. There are many workshops for learning agile software development principles (hereafter “agile principles“) such as the collaboration with customers and software working. These workshops are usually introduced on the Internet websites. Due to high number and variety of available workshops, it is preferable to grasp the trend of workshops. In this paper, we survey the trend of agile development workshops by utilizing the Systematic Mapping technique. By the survey, we reveal the recent trend of workshops for learning agile principles available on the Internet. Moreover we represent these recent workshops for learning agile principles in detail.

Our paper titled “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications” has been accepted at 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013).

Yuta Maezawa, Hironori Washizaki, Yoshinori Tanabe and Shinichi Honiden, “Automated Verification of Pattern-based Interaction Invariants in Ajax Applications,” Proceedings of 28th IEEE/ACM International Conference on Automated Software Engineering (ASE2013), pp.XX-YY, Silicon Valley, California, November 11-15, 2013. (PDF)

Abstract

When developing asynchronous JavaScript and XML (Ajax) applications, developers implement Ajax design patterns for increasing the usability of the applications. However, unpredictable contexts of running applications might conceal faults that will break the design patterns, which decreases usability. We propose a support tool called JSVerifier that automatically verifies interaction invariants; the applications handle
their interactions in invariant occurrence and order. We also present a selective set of interaction invariants derived from Ajax design patterns, as input. If the application behavior breaks the design patterns, JSVerifier automatically outputs faulty execution paths for debugging. The results of our case studies show that JSVerifier can verify the interaction invariants in a feasible amount of time, and we conclude that it can help developers increase the usability of Ajax applications.

日本ソフトウェア科学会 第30回大会 ソフトウェア論文セッションに予稿「プログラミング初学者向けコンテストシステム」を投稿しました。

坂本 一憲、鷲崎 弘宜、深澤 良彰、”プログラミング初学者向けコンテストシステム”、日本ソフトウェア科学会 第30回大会、東京大学本郷キャンパス、2013年9月10-13日 (PDF)

概要

プログラミングコンテストは効果的にプログラミングを学習できる教育手法として注目を浴びており,様々な教育機関にてコンテストシステムの導入が進んでいる.一方,コンテストは企業の人材採用のために実施されていることが多く,プログラミングに習熟した学生やプログラマーを対象としたものが主であり,初学者を対象としたコンテストとコンテストシステムの普及が進んでいない.本論文では,問題を解くプログラムのソースコードの代わりに,出力データの提出を求めるようなコンテストとシステムを提案する.提案コンテストではプログラムを作成して問題を解かなくとも,電卓や表計算ソフトで出力データを求めて解くことができる.提案コンテストを早稲田大学の学部2 年生に対して実施して,その際のコンテストの事前と事後のアンケート調査の結果から有効性を評価する.

日本ソフトウェア科学会 第30回大会 実践的IT教育研究グループ (rePiT)セッションに予稿「プロジェクト型演習に基づく実践的IT講座における共通性の分析と教育効果の評価」を投稿しました.

鷲崎 弘宜、伊永 祥太、山田 佑輔、筧 捷彦、深澤 良彰、山戸 昭三、大久保 雅司、”プロジェクト型演習に基づく実践的IT講座における共通性の分析と教育効果の評価”、日本ソフトウェア科学会 第30回大会、東京大学本郷キャンパス、2013年9月10-13日 (PDF)

概要

産学における高度 IT 人材育成への危機意識の高まりを受けて,実務に即した内容やプロジェクトマネジメント,さらにはヒューマンスキルを,プロジェクト型演習を中心として産学連携により教育する実践的 IT 講座の設置が様々な大学で進められている.早稲田大学基幹理工学部情報学科においては,発注側・経営側の視点に立った情報システムの企画・活用を,仮想事例を題材とした仮想プロジェクト形式で学習する講座を産学連携で実施している.本稿では、効率的および効果的な産学連携による実践的講座の設計と実施を検討するうえで参考となるように,早稲田大学を含む複数の大学における実践的講座を対象として,フィーチャモデリングにより実践的講座の共通性と可変性を分析した結果を報告する.さらに本稿では,そのような実践的講座の教育効果を評価する試みの一つとして,早稲田大学の事例を対象に,アンケート調査や講座履修前後の知識・技能評価を実施した結果を報告する.

Our paper titled “Analyzing effectiveness of workshops for learning agile development” has been accepted at Agile 2013 Conference (Agile 2013).

Shota Suzuki, Hironori Washizaki, Ryushi Shiohama, Masashi Kadoya, Yoshiaki Fukazawa, “Analyzing effectiveness of workshops for learning agile development,” Proceedings of Agile 2013 Conference (AGILE 2013), pp.XX-YY, Nashville, August 5-9, 2013. (PDF)

Abstract

Workshops are sometimes known as effective ways to learn the human and social factors of software engineering. However, their effectiveness in learning agile development principles in particular has not yet been determined, despite the fact that numerous agile development workshops have been held over the years. In this paper, we analyze the effectiveness of agile development workshops through an experiment, and show that one of representative workshops is indeed effective at learning agile principles. Self-study is another commonly used method to learn something new. Therefore, we compare the effectiveness of workshops with that of self-study to better illustrate the effectiveness of agile development workshops. In our experiment, we examine 7 workshop subjects and 8 selfstudy subjects, and compare their scores on the agile mind check, which is a method used to measure their degree of mastery of agile principles. As a result, we demonstrate the effectiveness of agile development workshops, especially those that simulate actual experiences. We also show that one of workshops is more effective than self-study regarding the agile mind check score.