Our paper, Commit Bubbles, has been accepted to ICSE 2015: New Ideas and Emerging Results.
The abstract of the paper follows:
Developers who use version control are expected to produce systematic commit histories that show well-defined steps with logical forward progress. Existing version control tools assume that developers also write code systematically. Unfortunately, the process by which developers write source code is often evolutionary, or as-needed, rather than systematic. Our contribution is a fragment-oriented concept called Commit Bubbles that will allow developers to construct systematic commit histories that adhere to version control best practices with less cognitive effort, and in a way that integrates with their as-needed coding workflows.
In other words, Commit Bubbles aims to alleviate the “tangled commit” and “non-descriptive commit message” dilemmas that developers routinely encounter when constructing version control commit histories:
The official release of Apache Hadoop 2.6.0 does not include the required binaries (e.g.,
winutils.exe) necessary to run hadoop. In order to use Hadoop on Windows, it must be compiled from source. This takes a bit of effort, so I’ve provided a pre-compiled, unofficial distribution below:
I compiled the source using:
Then, using the Windows SDK 7.1 Command Prompt or Visual Studio Command Prompt (2010):
The build system requires that you use the 8.3 short filename for
JAVA_HOME (no spaces!). The environment variables (
Platform) are also case sensitive. Finally:
mvn package -Pdist -DskipTests -Dtar
The binaries will be available in
On a clean install of Windows 8 or 8.1 on a Dell Vostro 3500, you may notice an
Unknown device listed under
Other devices in Device Manager:
Under Driver Details, you should also see (
This unknown device is actually the ST Microelectronics Free Fall Sensor. While the last supported operating system for this machine is Windows 7, you can install a generic version of the driver from the Dell KB article: Sudden Motion Sensor drivers are not installed in Windows 8 and Windows 8.1.
Our paper, How Developers Visualize Compiler Messages: A Foundational Approach to Notification Construction, has been accepted to the 2nd IEEE Working Conference on Software Visualization (VISSOFT 2014).
The abstract of the paper follows:
Self-explanation is one cognitive strategy through which developers comprehend error notifications. Self-explanation, when left solely to developers, can result in a significant loss of productivity because humans are imperfect and bounded in their cognitive abilities. We argue that modern IDEs offer limited visual affordances for aiding developers with self-explanation, because compilers do not reveal their reasoning about the causes of errors to the developer.
The contribution of our paper is a foundational set of visual annotations that aid developers in better comprehending error messages when compilers expose their internal reasoning. We demonstrate through a user study of 28 undergraduate Software Engineering students that our annotations align with the way in which developers self-explain error notifications. We show that these annotations allow developers to give significantly better self-explanations when compared against today’s dominant visualization paradigm, and that better self-explanations yield better mental models of notifications.
The results of our work suggest that the diagrammatic techniques developers use to explain problems can serve as an effective foundation for how IDEs should visually communicate to developers.
My graduate consortium submission, Improving Error Notification Comprehension through Visual Overlays in IDEs has been accepted to the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) in Melbourne, Australia. The abstract of the paper follows:
Error notifications, as presented by modern integrated development environments, are cryptic and confusing to developers. My dissertation research will demonstrate that modifying production compilers to expose detailed semantics about compilation errors is feasible, and that these semantics can be leveraged through diagrammatic representations using visual overlays on the source code to significantly improve compiler error notification comprehension.
I’m returning to Mountain View, California this summer to intern for Google, from June 16 to September 5. This time around, I will be working with the Knowledge: Translate team on interactive visualizations applied to the domain of machine learning.