Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

David Kawrykow

dblp:21/7058 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
0since 2021 · last 2013
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 2 first-author

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
3 papers
Software maintenance and evolution · 51% Empirical software engineering · 39% Program analysis · 10%

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

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
0.222013
Non-essential changes in version histories · ICSE 2011
Automated API Property Inference Techniques · IEEE Trans. Software Eng. 2013
Empirical software engineering › mining software repositories
API usage patterns
0.212013
Automated API Property Inference Techniques · IEEE Trans. Software Eng. 2013
Software maintenance and evolution
software ecosystems
0.212013
Automated API Property Inference Techniques · IEEE Trans. Software Eng. 2013
Software maintenance and evolution › refactoring
identifier renaming
0.112011
Non-essential changes in version histories · ICSE 2011
Software maintenance and evolution
refactoring
0.112011
Non-essential changes in version histories · ICSE 2011
Program analysis › error detection
API misuse detection
0.112009
Improving API Usage through Automatic Detection of Redundant Code · ASE 2009
Software maintenance and evolution
API usage
0.112009
Improving API Usage through Automatic Detection of Redundant Code · ASE 2009
Empirical software engineering › mining software repositories › source-code mining
API usage mining
0.012013
Automated API Property Inference Techniques · IEEE Trans. Software Eng. 2013

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

survey · 0.2classification · 0.2static analysis · 0.1
YearPublicationVenuePosition
2013 Automated API Property Inference Techniques
abstract
Frameworks and libraries offer reusable and customizable functionality through Application Programming Interfaces (APIs). Correctly using large and sophisticated APIs can represent a challenge due to hidden assumptions and requirements. Numerous approaches have been developed to infer properties of APIs, intended to guide their use by developers. With each approach come new definitions of API properties, new techniques for inferring these properties, and new ways to assess their correctness and usefulness. This paper provides a comprehensive survey of over a decade of research on automated property inference for APIs. Our survey provides a synthesis of this complex technical field along different dimensions of analysis: properties inferred, mining techniques, and empirical results. In particular, we derive a classification and organization of over 60 techniques into five different categories based on the type of API property inferred: unordered usage patterns, sequential usage patterns, behavioral specifications, migration mappings, and general information.
Martin P. Robillard, Eric Bodden, David Kawrykow, Mira Mezini, Tristan Ratchford
IEEE Trans. Software Eng.3
2011 Non-essential changes in version histories
abstract
Numerous techniques involve mining change data captured in software archives to assist engineering efforts, for example to identify components that tend to evolve together. We observed that important changes to software artifacts are sometimes accompanied by numerous non-essential modifications, such as local variable refactorings, or textual differences induced as part of a rename refactoring. We developed a tool-supported technique for detecting non-essential code differences in the revision histories of software systems. We used our technique to investigate code changes in over 24,000 change sets gathered from the change histories of seven long-lived open-source systems. We found that up to 15.5% of a system's method updates were due solely to non-essential differences. We also report on numerous observations on the distribution of non-essential differences in change history and their potential impact on change-based analyses.
David Kawrykow, Martin P. Robillard
ICSE1
2009 Improving API Usage through Automatic Detection of Redundant Code
abstract
Software projects often rely on third-party libraries made accessible through Application Programming Interfaces (APIs). We have observed many cases where APIs are used in ways that are not the most effective. We developed a technique and tool support to automatically detect such patterns of API usage in software projects. The main hypothesis underlying our technique is that client code imitating the behavior of an API method without calling it may not be using the API effectively because it could instead call the method it imitates. Our technique involves analyzing software systems to detect cases of API method imitations. In addition to warning developers of potentially re-implemented API methods, we also indicate how to improve the use of the API. Applying our approach on 10 Java systems revealed over 400 actual cases of potentially suboptimal API usage, leading to many improvements to the quality of the code we studied.
David Kawrykow, Martin P. Robillard
ASE1