Our short paper, Can Social Screencasting Help Developers Learn New Tools?, has been accepted to the 8th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE 2015). The workshop is colocated with ICSE, and will be hosted in Florence, Italy.
The lead author of the paper is Kubick Lubick. The abstract of the paper follows:
An effective way to learn about software development tools is by
directly observing peers’ workflows. However, these tool knowledge transfer events happen infrequently because developers must be both colocated and available. We explore an online social screencasting system that removes the dependencies of colocation and availability while maintaining the beneficial tool knowledge transfer of peer observation. Our results from a formative study indicate these online observations happen more frequently than in-person observations, but their effects are only temporary. We conclude that while peer observation facilitates online knowledge transfer, it is not the only component — other social factors may be involved.
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.