Intelligent Software Assistants via Collaborative Programming
Software development is a complex task that requires expertise, logical reasoning, and the ability to recall language or API-specific details. In practice, rather than operating entirely in isolation, developers seek support from IDE tools, Web resources, or other developers to help fill in gaps in their knowledge. While some of this support is available on demand, significant gaps remain between what is needed for a seamless development effort and what is available today. Moreover, maintaining context when collaborating with others, or resuming a previous task is not supported via conventional approaches. This proposal will explore tools that allow developers to request on-demand help from domain experts, package tasks for later completion with minimal overhead, and provide real-time context for related development activities happening in parallel. Achieving this vision requires tools for on-demand one-on-one expert assistance, and for maintaining context during programming tasks.
Presented at the ACM CHI Conference on Human Factors in Computing Systems
Presented at Northwestern University. Evanston, IL.
Published article in Proceedings of the ACM Symposium on User Interface Software and Technology.
Published article in Proceedings of the IEEE Symposium on Visual Languages and Human-Centered Computing.
Published article in Proceedings of the International ACM Conference on Computer Supported Cooperative Work and Social Computing.
$74,000 grant from Clinc Inc. / MCRN.
Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI 2016)