探索的プログラミングにおいて,試行錯誤は重要である.この試行錯誤の過程で,プログラマはこまかなバージョン管理操作に相当する作業を行うが,現在の開発環境はこれらの作業を支援できていない.本研究では,探索的プログラミング中のバージョン管理を,小規模バージョン管理と名づけた. そして,既存研究の調査により,小規模バージョン管理の支援ツールの要件を明確化した.そしてその要件に基づき,テキストエディタ上で動く小規模バージョン管理ツールを提案する. このツールは,小規模バーション管理を実行するための候補リストと,小規模バージョン管理操作が可能な場所を視覚的に表示する.また,小規模バーション管理操作をした結果のソースコードをテキストエディタ上に表示する. 提案ツールで使用する履歴モデルは,領域内アンドゥと木構造を持つアンドゥを組み合わせたものである.この履歴モデルは,分散した関連する編集を同時に適用する事ができ,不適切な小規模バーション管理操作を除外する事ができる. プログラマに対するユーザスタディを行った.この結果では,提案ツールが要件を満たしており,プログラミングに有用であることが示された.また,提案する履歴モデルが領域内アンドゥと木構造を持つアンドゥの双方の特徴を持つ事も示された.
Micro-Versioning Tool to Support Experimentation in Exploratory Programming
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.

Install

Source Code (zip file)

The prototype tool requires following software.

Please download the above zip file, unzip it, and executes the following commands.

$ cd micro-versioning-tool
$ npm install

Usage

Run the following command to open foo.html using the prototype micro-versioning tool.
$ cd micro-versioning-tool
$ electron . foo.html
  • Hiroaki Mikami, Daisuke Sakamoto, and Takeo Igarashi. Micro-Versioning Tool to Support Experimentation in Exploratory Programming. 2017 SIGCHI Conference on Human Factors in Computer Systems (CHI 2017)[DOI, PDF, Slide]

インストール

ソースコード (zip file)

プロトタイプの実行には,以下のソフトウェアが必要です.

上記zipファイルをダウンロード,解凍し,以下のコマンドを実行すると,プロトタイプツールの実行準備が整います.

$ cd micro-versioning-tool
$ npm install

使用法

以下のコマンドを実行すると,'foo.html'を小規模バージョン管理ツールで開くことができます.
$ cd micro-versioning-tool
$ electron . foo.html
  • Hiroaki Mikami, Daisuke Sakamoto, and Takeo Igarashi. Micro-Versioning Tool to Support Experimentation in Exploratory Programming. 2017 SIGCHI Conference on Human Factors in Computer Systems (CHI 2017) [DOI, PDF, スライド]