Demo Data from SIGIR 2026 / reviewers in the wild / expert
Shayan Noei
dblp:363/9935
· DBLP profile ↗
2ranked-venue papers
2as first author
2since 2021 · last 2025
0000-0002-5675-7817ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-author · 2 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 · 41% Empirical software engineering · 41% Program analysis · 18% |
Topics — the 3 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Empirical software engineering
mining software repositories |
1.5 | 2 | 2025 | Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach · ACM Trans. Softw. Eng. Methodol. 2025 An Empirical Study of Refactoring Rhythms and Tactics in the Software Development Process · IEEE Trans. Software Eng. 2023 |
Software maintenance and evolution
refactoring |
1.5 | 2 | 2025 | Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based Approach · ACM Trans. Softw. Eng. Methodol. 2025 An Empirical Study of Refactoring Rhythms and Tactics in the Software Development Process · IEEE Trans. Software Eng. 2023 |
Program analysis
code quality analysis |
0.7 | 1 | 2023 | An Empirical Study of Refactoring Rhythms and Tactics in the Software Development Process · IEEE Trans. Software Eng. 2023 |
Methods — techniques the papers use, named apart from their topics
machine learning based detection · 0.9empirical study · 0.7code smell analysis · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Detecting Refactoring Commits in Machine Learning Python Projects: A Machine Learning-Based ApproachabstractRefactoring aims to improve the quality of software without altering its functional behaviors. Understanding developers’ refactoring activities is essential to improve software maintainability. The use of machine learning (ML) libraries and frameworks in software systems has significantly increased in recent years, making the maximization of their maintainability crucial. Due to the data-driven nature of ML libraries and frameworks, they often undergo a different development process compared to traditional projects. As a result, they may experience various types of refactoring, such as those related to the data. The state-of-the-art refactoring detection tools have not been tested in the ML technical domain, and they are not specifically designed to detect ML-specific refactoring types (e.g., data manipulation) in ML projects; therefore, they may not adequately find all potential refactoring operations, specifically the ML-specific refactoring operations. Furthermore, a vast number of ML libraries and frameworks are written in Python, which has limited tooling support for refactoring detection. PyRef, a rule-based and state-of-the-art tool for Python refactoring detection, can identify 11 types of refactoring operations with relatively high precision. In contrast, for other languages such as Java, state-of-the-art tools are capable of detecting a much more comprehensive list of refactorings. For example, Rminer can detect 99 types of refactoring for Java projects. Inspired by previous work that leverages commit messages to detect refactoring, we introduce MLRefScanner, a prototype tool that applies ML techniques to detect refactoring commits in ML Python projects. MLRefScanner detects commits involving both ML-specific refactoring operations and additional refactoring operations beyond the scope of state-of-the-art refactoring detection tools. To demonstrate the effectiveness of our approach, we evaluate MLRefScanner on 199 ML open source libraries and frameworks and compare MLRefScanner against other refactoring detection tools for Python projects. Our findings show that MLRefScanner outperforms existing tools in detecting refactoring-related commits, achieving an overall precision of 94% and recall of 82% for identifying refactoring-related commits. MLRefScanner can identify commits with ML-specific and additional refactoring operations compared to state-of-the-art refactoring detection tools. When combining MLRefScanner with PyRef, we can further increase the precision and recall to 95% and 99%, respectively. MLRefScanner provides a valuable contribution to the Python ML community, as it allows ML developers to detect refactoring-related commits more effectively in their ML Python projects. Our study sheds light on the promising direction of leveraging machine learning techniques to detect refactoring activities for other programming languages or technical domains where the commonly used rule-based refactoring detection approaches are not sufficient. Shayan Noei, Heng Li 0007, Ying Zou 0001 |
ACM Trans. Softw. Eng. Methodol. | 1 |
| 2023 | An Empirical Study of Refactoring Rhythms and Tactics in the Software Development ProcessabstractIt is critical for developers to develop high-quality software to reduce maintenance cost. While often, developers apply refactoring practices to make source code readable and maintainable without impacting the software functionality. Existing studies identify development rhythms (i.e., weekly development patterns) and their relationship with various metrics, such as productivity. However, existing studies focus entirely on development rhythms. There is no study on refactoring rhythms and their relationship with code quality. Moreover, the existing studies categorize the refactoring tactics (i.e., long-term refactoring patterns) into two general concepts of consistent and inconsistent refactoring. Nevertheless, the existence of other tactics and their relationship with code quality is not explored. In this paper, we conduct an empirical study on the refactoring practices of 196 Apache projects in the early, middle, and late stages of development. We aim to identify (1) existing refactoring rhythms, (2) further refactoring tactics, and (3) the relationship between the identified tactics and rhythms with code quality. The recognition of existing refactoring strategies and their relationship with code quality can assist practitioners in recognizing and applying the appropriate and high-quality refactoring rhythms or tactics to deliver a higher quality of software. We find two frequently used refactoring rhythms: work-day refactoring and all-day refactoring. We also identify two deviations of floss and root canal refactoring tactics as: intermittent root canal, intermittent spiked floss, frequent spiked floss, and frequent root canal. We find that root canal-based tactics are correlated with less increase in the code smells (i.e., higher quality code) compared to floss-based tactics. Moreover, we find that refactoring rhythms are not significantly correlated with the quality of the code. Furthermore, we provide detailed information on the relationship of each refactoring tactic to each code smell type. Shayan Noei, Heng Li 0007, Stefanos Georgiou, Ying Zou 0001 |
IEEE Trans. Software Eng. | 1 |