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.
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.
Our paper, Compiler Error Notifications Revisited: An Interaction-First Approach for Helping Developers More Effectively Comprehend and Resolve Error Notifications, has been accepted to ICSE 2014: New Ideas and Emerging Results.
The abstract of the paper follows:
Error notifications and their resolutions, as presented by modern IDEs, are still cryptic and confusing to developers. We propose an interaction-first approach to help developers more effectively comprehend and resolve compiler error notifications through a conceptual interaction framework. We propose novel taxonomies that can serve as controlled vocabularies for compiler notifications and their resolutions. We use preliminary taxonomies to demonstrate, through a prototype IDE, how the taxonomies make notifications and their resolutions more consistent and unified.
I am pleased to announce that I have accepted a Research Scientist position with the Software Engineering Research group at ABB in Raleigh while I pursue my PhD at North Carolina State University.
Add me to the list of annoyed users who are receiving
Code 80244FFF with no resolution from Microsoft (at least, Microsoft does not seem to have acknowledged the problem).
I’ve tried the following options so far, and am open to other suggestions:
Update: After applying the Windows 8.1 Update, I now receive Code 80240442. So all I’ve really done is trade one error code for another.
There does seem to be a workaround for this issue, but it involves temporarily modifying your Internet Options when wanting to run Windows Update. First, find Internet Options, either through the Start Menu or under Control Panel:
Then, go under the Connections tab and click LAN settings. Check “Use a proxy server for your LAN”:
Click Advanced, and enter the following settings:
For HTTP and Secure, use
127.0.0.1 for the “Proxy address to use” and
8888 for the port. Under Exceptions, type
You may have to reboot your machine. Then, run Windows Update as you normally would.
This week I attended the Frontiers in Education conference (October 23-26) in Oklahoma City, Oklahoma, where I presented my work on A Community College Blended Learning Classroom Experience through Artificial Intelligence in Games. This is my first Computer Science Education paper.
The paper reports on the experience of teaching an industry-validated course on Artificial Intelligence in Computer Games within the Simulation and Game Design department at a two-year community college during a 16-week semester. The course format used a blended learning just-in-time teaching approach, which included active learning programming exercises and one-on-one student interactions.