Ehsan Mirsaeedi

dblp:276/3388 · DBLP profile ↗
← Back
2ranked-venue papers
1as first author
1since 2021 · last 2024
0009-0005-1964-3342ORCID · corroborated

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

Software engineering, systems software and programming languages · 2 · 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
2 papers
Software maintenance and evolution · 60% Empirical software engineering · 40%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
code review
1.222024
Factoring Expertise, Workload, and Turnover Into Code Review Recommendation · IEEE Trans. Software Eng. 2024
Mitigating turnover with code review recommendation: balancing expertise, workload, and knowledge distribution · ICSE 2020
Software maintenance and evolution › code review
reviewer recommendation
1.222024
Factoring Expertise, Workload, and Turnover Into Code Review Recommendation · IEEE Trans. Software Eng. 2024
Mitigating turnover with code review recommendation: balancing expertise, workload, and knowledge distribution · ICSE 2020
Empirical software engineering › developer studies
developer turnover
0.812024
Factoring Expertise, Workload, and Turnover Into Code Review Recommendation · IEEE Trans. Software Eng. 2024
Empirical software engineering
mining software repositories
0.722024
Mitigating turnover with code review recommendation: balancing expertise, workload, and knowledge distribution · ICSE 2020
Factoring Expertise, Workload, and Turnover Into Code Review Recommendation · IEEE Trans. Software Eng. 2024
Empirical software engineering › developer studies
developer expertise
0.412020
Mitigating turnover with code review recommendation: balancing expertise, workload, and knowledge distribution · ICSE 2020

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

simulation · 0.8recommendation algorithms · 0.8learning and retention aware recommendation · 0.4
YearPublicationVenuePosition
2024 Factoring Expertise, Workload, and Turnover Into Code Review Recommendation
abstract
Developer turnover is inevitable on software projects and leads to knowledge loss, a reduction in productivity, and an increase in defects. Mitigation strategies to deal with turnover tend to disrupt and increase workloads for developers. In this work, we suggest that through code review recommendation we can distribute knowledge and mitigate turnover while more evenly distributing review workload. We conduct historical analyses to understand the natural concentration of review workload and the degree of knowledge spreading that is inherent in code review. Even though review workload is highly concentrated, we show that code review natural spreads knowledge thereby reducing the files at risk to turnover. Using simulation, we evaluate existing code review recommenders and develop novel recommenders to understand their impact on the level of expertise during review, the workload of reviewers, and the files at risk to turnover. Our simulations use seeded random replacement of reviewers to allow us to compare the reviewer recommenders without the confounding variation of different reviewers being replaced for each recommender. We find that prior work that assigns reviewers based on file ownership concentrates knowledge on a small group of core developers increasing the risk of knowledge loss from turnover. Recent work, WhoDo, that considers developer workload, assigns developers that are not sufficiently committed to the project and we see an increase in files at risk to turnover. We propose learning and retention aware review recommenders that when combined are effective at reducing the risk of turnover, but they unacceptably reduce the overall expertise during reviews. Combining recommenders, we develop theSofiaWLrecommender that suggests experts with low active review workload when none of the files under review are known by only one developer. In contrast, when knowledge is concentrated on one developer, it sends the review to other reviewers to spread knowledge. For the projects we study, we are able to globally increase expertise during reviews,$+3$%, reduce workload concentration,$-12$%, and reduce the files at risk,$-28$%. We make our scripts and data available in our replication package[1]. Developers can optimize for a particular outcome measure based on the needs of their project, or use our GitHub bot to automatically balance the outcomes[2].
Fahimeh Hajari, Samaneh Malmir, Ehsan Mirsaeedi, Peter C. Rigby
IEEE Trans. Software Eng.3
2020 Mitigating turnover with code review recommendation: balancing expertise, workload, and knowledge distribution
abstract
Developer turnover is inevitable on software projects and leads to knowledge loss, a reduction in productivity, and an increase in defects. Mitigation strategies to deal with turnover tend to disrupt and increase workloads for developers. In this work, we suggest that through code review recommendation we can distribute knowledge and mitigate turnover with minimal impacton the development process. We evaluate review recommenders in the context of ensuring expertise during review, Expertise, reducing the review workload of the core team, CoreWorkload, and reducing the Files at Risk to turnover, FaR. We find that prior work that assigns reviewers based on file ownership concentrates knowledge on a small group of core developers increasing risk of knowledge loss from turnover by up to 65%. We propose learning and retention aware review recommenders that when combined are effective at reducing the risk of turnover by -29% but they unacceptably reduce the overall expertise during reviews by -26%. We develop the Sofia recommender that suggests experts when none of the files under review are hoarded by developers, but distributes knowledge when files are at risk. In this way, we are able to simultaneously increase expertise during review with a ΔExpertise of 6%, with a negligible impact on workload of ΔCoreWorkload of 0.09%, and reduce the files at risk by ΔFaR -28%. Sofia is integrated into GitHub pull requests allowing developers to select an appropriate expert or "learner" based on the context of the review. We release the Sofia bot as well as the code and data for replication purposes.
Ehsan Mirsaeedi, Peter C. Rigby
ICSE1