Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI being one of the most widely used processes in software engineering, we do not know what motivates developers to use CI, and what barriers and unmet needs they face. Without such knowledge developers make easily avoidable...
End-user programmers’ code is notoriously buggy. This problem is amplified by the increasing complexity of end users’ programs. To help end users catch errors early and reliably, we employ a novel approach for the design of end-user debugging tools: a focus on supporting end users’ effective debugging strategies. This paper...
Although there have been decades of research into how professional programmers debug, only recently has work begun to emerge about how end-user programmers attempt to debug their programs. Without understanding how end-user programmers approach debugging, we cannot build tools to adequately support their needs. To help fill this need, this...
Current software development practices leave a plethora of activities that are archived in version control systems, issue trackers, mailing lists, or Question and Answer (Q&A) forums. Software managers are increasingly using these online activities to better evaluate job candidates. We introduce our tool, Visual Resume, that displays visual overviews of...
End-user programmers’ code (e.g., accountants’ spreadsheet formulas) is fraught with errors. To help mitigate this problem, end-user software engineering research is becoming established. However, most of this work has focused on feature usage, rather than debugging strategies. If a debugging tool were to support end-user programmers’ specific debugging strategy needs,...