Session:「Helping Software Developers」

Micro-Versioning Tool to Support Experimentation in Exploratory Programming

論文URL: http://dl.acm.org/citation.cfm?doid=3025453.3025597

論文アブストラクト: Experimentation plays an essential role in exploratory programming, and programmers apply version control operations when switching the part of the source code back to the past state during experimentation. However, these operations, which we refer to as micro-versioning, are not well supported in current programming environments. We first examined previous studies to clarify the requirements for a micro-versioning tool. We then developed a micro-versioning tool that displays visual cues representing possible micro-versioning operations in a textual code editor. Our tool includes a history model that generates meaningful candidates by combining a regional undo model and tree-structured undo model. The history model uses code executions as a delimiter to segment text edit operations into meaning groups. A user study involving programmers indicated that our tool satisfies the above-mentioned requirements and that it is useful for exploratory programming.

日本語のまとめ:

試行錯誤的なプログラミング向けの小規模バージョン管理ツールを開発した。ライトなUIと操作履歴モデルにより簡単にトライ&エラーが出来る。評価実験の結果、ユーザビリティおよび履歴モデルの妥当性について高評価を得た。

Codeon: On-Demand Software Development Assistance

論文URL: http://dl.acm.org/citation.cfm?doid=3025453.3025972

論文アブストラクト: Software developers rely on support from a variety of resources---including other developers---but the coordination cost of finding another developer with relevant experience, explaining the context of the problem, composing a specific help request, and providing access to relevant code is prohibitively high for all but the largest of tasks. Existing technologies for synchronous communication (e.g. voice chat) have high scheduling costs, and asynchronous communication tools (e.g. forums) require developers to carefully describe their code context to yield useful responses. This paper introduces Codeon, a system that enables more effective task hand-off between end-user developers and remote helpers by allowing asynchronous responses to on-demand requests. With Codeon, developers can request help by speaking their requests aloud within the context of their IDE. Codeon automatically captures the relevant code context and allows remote helpers to respond with high-level descriptions, code annotations, code snippets, and natural language explanations. Developers can then immediately view and integrate these responses into their code. In this paper, we describe Codeon, the studies that guided its design, and our evaluation that its effectiveness as a support tool. In our evaluation, developers using Codeon completed nearly twice as many tasks as those who used state-of-the-art synchronous video and code sharing tools, by reducing the coordination costs of seeking assistance from other developers.

日本語のまとめ:

リモート開発支援ツール“Codeon”を開発した。効率良くリクエストとレスポンスを作成出来、コードの比較等も容易に行える。評価実験ではベースラインよりもタスク達成数が多く、生産パフォーマンスの向上が確認出来た。

PFIS-V: Modeling Foraging Behavior in the Presence of Variants

論文URL: http://dl.acm.org/citation.cfm?doid=3025453.3025818

論文アブストラクト: Foraging among similar variants of the same artifact is a common activity, but computational models of Information Foraging Theory (IFT) have not been developed to take such variants into account. Without being able to computationally predict people's foraging behavior with variants, our ability to harness the theory in practical ways--such as building and systematically assessing tools for people who forage different variants of an artifact--is limited. Therefore, in this paper, we introduce a new predictive model, PFIS-V, that builds upon PFIS3, the most recent of the PFIS family of modeling IFT in programming situations. Our empirical results show that PFIS-V is up to 25% more accurate than PFIS3 in predicting where a forager will navigate in a variationed information space.

日本語のまとめ:

バリエーションに富んだ情報空間での探索の振る舞いをモデル化した。既存のモデルのアルゴリズムを拡張し、プログラミングのナビゲーションに利用。評価実験では既存モデルに対してナビゲーション精度が平均10%、最大25%向上した。

Improving Communication Between Pair Programmers Using Shared Gaze Awareness

論文URL: http://dl.acm.org/citation.cfm?doid=3025453.3025573

論文アブストラクト: Remote collaboration can be more difficult than collocated collaboration for a number of reasons, including the inability to easily determine what your collaborator is looking at. This impedes a pair's ability to efficiently communicate about on-screen locations and makes synchronous coordination difficult. We designed a novel gaze visualization for remote pair programmers which shows where in the code their partner is currently looking, and changes color when they are looking at the same thing. Our design is unobtrusive, and transparently depicts the imprecision inherent in eye tracking technology. We evaluated our design with an experiment in which pair programmers worked remotely on code refactoring tasks. Our results show that with the visualization, pairs spent a greater proportion of their time concurrently looking at the same code locations. Pairs communicated using a larger ratio of implicit to explicit references, and were faster and more successful at responding to those references.

日本語のまとめ:

パートナーの注視箇所をエディタ上で可視化したペアプログラミングを提案し、リモート環境でのコミュニケーションの改善を図る。評価実験では可視化がある場合により速く正確にコミュニケーションが出来る可能性を示した。