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

Pavel Reich

dblp:344/1587 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2023
—ORCID · unresolved

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

Software engineering, systems software and programming languages · 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
1 paper
Software testing · 56% Software maintenance and evolution · 36% Empirical software engineering · 8%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
refactoring
0.712023
Testability Refactoring in Pull Requests: Patterns and Trends · ICSE 2023
Software testing
testability
0.712023
Testability Refactoring in Pull Requests: Patterns and Trends · ICSE 2023
Software testing
unit testing
0.712023
Testability Refactoring in Pull Requests: Patterns and Trends · ICSE 2023
Empirical software engineering
mining software repositories
0.212023
Testability Refactoring in Pull Requests: Patterns and Trends · ICSE 2023
Software maintenance and evolution › code review › code review analysis
pull request analysis
0.212023
Testability Refactoring in Pull Requests: Patterns and Trends · ICSE 2023

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

mining software repositories · 0.7manual code analysis · 0.7
YearPublicationVenuePosition
2023 Testability Refactoring in Pull Requests: Patterns and Trends
abstract
To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to understand such composite refactoring procedures for the purpose of improving testability. We collected and studied 346,841 java pull requests from 621 GitHub projects. First, we compared the atomic refactorings in two populations: pull requests with changed test-pairs (i.e. with co-changes in production and test code and thus potentially including testability refactoring) and pull requests without test-pairs. We found significantly more atomic refactorings in test-pairs pull requests, such as Change Variable Type Operation or Change Parameter Type. Second, we manually analyzed the code changes of 200 pull requests, where developers explicitly mention the terms “testability” or “refactor + test”. We identified ten composite refactoring procedures for the purpose of testability, which we call testability refactoring patterns. Third, we manually analyzed additional 524 test-pairs pull requests: both randomly selected and where we assumed to find testability refactorings, e.g. in pull requests about dependency or concurrency issues. About 25% of all analyzed pull requests actually included testability refactoring patterns. The most frequent were extract a method for override or for invocation, widen access to a method for invocation, and extract a class for invocation. We also report on frequent atomic refactorings which co-occur with the patterns and discuss the implications of our findings for research, practice, and education.
Pavel Reich, Walid Maalej
ICSE1