Paul W. McBurney

dblp:145/3936 · DBLP profile ↗
← Back
11ranked-venue papers
8as first author
1since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 7 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Program synthesis and code generation · 42% Empirical software engineering · 36% Software maintenance and evolution · 20%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program synthesis and code generation
code summarization
0.942016
Automatic Source Code Summarization of Context for Java Methods · IEEE Trans. Software Eng. 2016
An Eye-Tracking Study of Java Programmers and Application to Source Code Summarization · IEEE Trans. Software Eng. 2015
Automatic Documentation Generation via Source Code Summarization · ICSE (2) 2015
Software maintenance and evolution
software documentation
0.622018
Towards Prioritizing Documentation Effort · IEEE Trans. Software Eng. 2018
Automatic Source Code Summarization of Context for Java Methods · IEEE Trans. Software Eng. 2016
Empirical software engineering
mining software repositories
0.522018
Towards Prioritizing Documentation Effort · IEEE Trans. Software Eng. 2018
Automatic Documentation Generation via Source Code Summarization · ICSE (2) 2015
Program synthesis and code generation
code documentation generation
0.522016
Automatic Source Code Summarization of Context for Java Methods · IEEE Trans. Software Eng. 2016
Automatic Documentation Generation via Source Code Summarization · ICSE (2) 2015
Empirical software engineering
developer studies
0.422015
An Eye-Tracking Study of Java Programmers and Application to Source Code Summarization · IEEE Trans. Software Eng. 2015
Improving automated source code summarization via an eye-tracking study of programmers · ICSE 2014
Empirical software engineering › human factors in software engineering
eye-tracking studies
0.212014
Improving automated source code summarization via an eye-tracking study of programmers · ICSE 2014
Software maintenance and evolution
program comprehension
0.112015
An Eye-Tracking Study of Java Programmers and Application to Source Code Summarization · IEEE Trans. Software Eng. 2015

Methods — techniques the papers use, named apart from their topics

user study · 0.8eye tracking · 0.4textual analysis · 0.3static source code analysis · 0.3invocation analysis · 0.2machine learning · 0.2
YearPublicationVenuePosition
2021 Experience of Teaching a Course on Software Engineering Principles Without a Project
abstract
This paper summarizes an experience in designing and delivering a course "Software Development Essentials", a second year computer science course designed to teach software engineering skills without a project component. This paper describes the motivation, design, and implementation of the course.
Paul W. McBurney, Christian Murphy
SIGCSE1
2018 Towards Prioritizing Documentation Effort
abstract
Programmers need documentation to comprehend software, but they often lack the time to write it. Thus, programmers must prioritize their documentation effort to ensure that sections of code important to program comprehension are thoroughly explained. In this paper, we explore the possibility of automatically prioritizing documentation effort. We performed two user studies to evaluate the effectiveness of static source code attributes and textual analysis of source code towards prioritizing documentation effort. The first study used open-source API Libraries while the second study was conducted using closed-source industrial software from ABB. Our findings suggest that static source code attributes are poor predictors of documentation effort priority, whereas textual analysis of source code consistently performed well as a predictor of documentation effort priority.
Paul W. McBurney, Siyuan Jiang, Marouane Kessentini, Nicholas A. Kraft, Ameer Armaly, Mohamed Wiem Mkaouer, Collin McMillan
IEEE Trans. Software Eng.1
2016 TraceLab Components for Reproducing Source Code Summarization Experiments
abstract
This artifact is a reproducibility package for experiments in source code summarization. The artifact is implemented as a set of components for the TraceLab research infrastructure. We have converted two implementations of state-of-the-art source code summarization into prepackaged and easily-reusable TraceLab components. Prior to this conversion, the implementations were accessible but difficult to use, being scattered across numerous scripts in various languages with many dependencies. We provide the components, detailed tutorials, and two example virtual machine images via our online appendix.
Breno Dantas Cruz, Paul W. McBurney, Collin McMillan
ICSME2
2016 An empirical study of the textual similarity between source code and source code summaries
Paul W. McBurney, Collin McMillan
Empir. Softw. Eng.1
2016 Automated feature discovery via sentence selection and source code summarization
abstract
Programs are, in essence, a collection of implemented features. Feature discovery in software engineering is the task of identifying key functionalities that a program implements. Manual feature discovery can be time consuming and expensive, leading to automatic feature discovery tools being developed. However, these approaches typically only describe features using lists of keywords, which can be difficult for readers who are not already familiar with the source code. An alternative to keyword lists is sentence selection, in which one sentence is chosen from among the sentences in a text document to describe that document. Sentence selection has been widely studied in the context of natural language summarization but is only beginning to be explored as a solution to feature discovery. In this paper, we compare four sentence selection strategies for the purpose of feature discovery. Two are off-the-shelf approaches, while two are adaptations we propose. We present our findings as guidelines and recommendations to designers of feature discovery tools. Copyright © 2016 John Wiley & Sons, Ltd.
Paul W. McBurney, Collin McMillan
J. Softw. Evol. Process.1
2016 Automatic Source Code Summarization of Context for Java Methods
abstract
Source code summarization is the task of creating readable summaries that describe the functionality of software. Source code summarization is a critical component of documentation generation, for example as Javadocs formed from short paragraphs attached to each method in a Java program. At present, a majority of source code summarization is manual, in that the paragraphs are written by human experts. However, new automated technologies are becoming feasible. These automated techniques have been shown to be effective in select situations, though a key weakness is that they do not explain the source code's context. That is, they can describe the behavior of a Java method, but not why the method exists or what role it plays in the software. In this paper, we propose a source code summarization technique that writes English descriptions of Java methods by analyzing how those methods are invoked. We then performed two user studies to evaluate our approach. First, we compared our generated summaries to summaries written manually by experts. Then, we compared our summaries to summaries written by a state-of-the-art automatic summarization tool. We found that while our approach does not reach the quality of human-written summaries, we do improve over the state-of-the-art summarization tool in several dimensions by a statistically-significant margin.
Paul W. McBurney, Collin McMillan
IEEE Trans. Software Eng.1
2015 Automatic Documentation Generation via Source Code Summarization
abstract
Programmers need software documentation. However, documentation is expensive to produce and maintain, and often becomes outdated over time. Programmers often lack the time and resources to write documentation. Therefore, automated solutions are desirable. Designers of automatic documentation tools are limited because there is not yet a clear understanding of what characteristics are important to generating high quality summaries. I propose three specific research objectives to improving automatic documentation generation. I propose to study the similarity between source code and summary. Second, I propose studying whether or not including contextual information about source code improves summary quality. Finally, I propose to study the problem of similarity in source code structure and source code documentation. This paper discusses my work on these three objectives towards my Ph.D. dissertation, including my preliminary and proposed work.
Paul W. McBurney
ICSE (2)1
2015 An Eye-Tracking Study of Java Programmers and Application to Source Code Summarization
abstract
Source Code Summarization is an emerging technology for automatically generating brief descriptions of code. Current summarization techniques work by selecting a subset of the statements and keywords from the code, and then including information from those statements and keywords in the summary. The quality of the summary depends heavily on the process of selecting the subset: a high-quality selection would contain the same statements and keywords that a programmer would choose. Unfortunately, little evidence exists about the statements and keywords that programmers view as important when they summarize source code. In this paper, we present an eye-tracking study of 10 professional Java programmers in which the programmers read Java methods and wrote English summaries of those methods. We apply the findings to build a novel summarization tool. Then, we evaluate this tool. Finally, we further analyze the programmers' method summaries to explore specific keyword usage and provide evidence to support the development of source code summarization systems.
Paige Rodeghero, Paul W. McBurney, Collin McMillan
IEEE Trans. Software Eng.3
2014 Improving automated source code summarization via an eye-tracking study of programmers
abstract
Source Code Summarization is an emerging technology for automatically generating brief descriptions of code. Current summarization techniques work by selecting a subset of the statements and keywords from the code, and then including information from those statements and keywords in the summary. The quality of the summary depends heavily on the process of selecting the subset: a high-quality selection would contain the same statements and keywords that a programmer would choose. Unfortunately, little evidence exists about the statements and keywords that programmers view as important when they summarize source code. In this paper, we present an eye-tracking study of 10 professional Java programmers in which the programmers read Java methods and wrote English summaries of those methods. We apply the findings to build a novel summarization tool. Then, we evaluate this tool and provide evidence to support the development of source code summarization systems.
Paige Rodeghero, Collin McMillan, Paul W. McBurney, Nigel Bosch, Sidney K. D'Mello
ICSE3
2014 Improving topic model source code summarization
abstract
In this paper, we present an emerging source code summarization technique that uses topic modeling to select keywords and topics as summaries for source code. Our approach organizes the topics in source code into a hierarchy, with more general topics near the top of the hierarchy. In this way, we present the software's highest-level functionality first, before lower-level details. This is an advantage over previous approaches based on topic models, that only present groups of related keywords without a hierarchy. We conducted a preliminary user study that found our approach selects keywords and topics that the participants found to be accurate in a majority of cases.
Paul W. McBurney, Collin McMillan, Tim Weninger
ICPC1
2014 Automatic documentation generation via source code summarization of method context
abstract
A documentation generator is a programming tool that creates documentation for software by analyzing the statements and comments in the software's source code. While many of these tools are manual, in that they require specially-formatted metadata written by programmers, new research has made inroads towards automatic generation of documentation. These approaches work by stitching together keywords from the source code into readable natural language sentences. These approaches have been shown to be effective, but carry a key limitation: the generated documents do not explain the source code's context. They can describe the behavior of a Java method, but not why the method exists or what role it plays in the software. In this paper, we propose a technique that includes this context by analyzing how the Java methods are invoked. In a user study, we found that programmers benefit from our generated documentation because it includes context information.
Paul W. McBurney, Collin McMillan
ICPC1