Grant Meredith

dblp:133/8237 · DBLP profile ↗
← Back
4ranked-venue papers
0as first author
4since 2021 · last 2026
0000-0001-8972-4547ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 3 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021
YearPublicationVenuePosition
2026 Automated Refactoring for Conditional Branching
abstract
Conditional branching provides a fundamental structure for executing a specific branch based on the value of a boolean expression at run-time. However, repeated or nested conditional branching can lead to increased complexity. Furthermore, fall-through semantics in conditional branching result in uncontrollable jumps. Refactoring conditional branching manually is error-prone, time-consuming, and tedious. There is a critical need to provide automated refactoring support for conditional branching. To this end, this paper presentsReBrancher, an automated refactoring approach to eliminate repeated or nested conditional branching. Firstly,ReBrancherparses source code into an abstract syntax tree and walks through conditional branching statements. Secondly, it removes redundant fall-through semantics by static program analysis and an automaton. The automaton is constructed from a control flow graph to match patterns of conditional branching. Finally, it converts a conditional branching into aswitchexpression and removes the fall-through semantics.ReBrancherwas evaluated on nine real-world projects involving 25,137 conditional branchings. Experimental results show that a total of 1,790 conditional branching constructs are refactored within an average of 18.62 seconds per project. Furthermore,ReBrancherreduced the average cyclomatic complexity by 4.41% and removed 1,249 code smells, demonstrating its effectiveness in improving code quality.
Yang Zhang 0037, Chunhao Dong, Chaoshuai Li, Grant Meredith
IEEE Trans. Serv. Comput.5
2025 DeepCSS: severity classification for code smell based on deep learning
Yang Zhang 0037, Grant Meredith
Empir. Softw. Eng.4
2025 Move method refactoring recommendation based on deep learning and LLM-generated information
Yang Zhang 0037, Grant Meredith
Inf. Sci.3
2024 Consistency Checking for Refactoring from Coarse-Grained Locks to Fine-Grained Locks
abstract
Refactoring for locks is widely used to improve the scalability and performance of concurrent programs. However, when refactoring from coarse-grained locks to fine-grained locks, the behavior of concurrent programs may be changed. To this end, we present LockCheck, a consistency-checking approach based on the parallel extended finite automaton for fine-grained locks. First, we model the critical sections of concurrent programs through control flow analysis and dependency analysis. Second, we sequentialize the concurrent programs to get all the possible transition paths. Furthermore, it reduces the exploration of the redundant paths using partial order theory to obtain the compared transition paths. Finally, we combine consistency rules to check the consistency of the program before and after refactoring. We evaluated LockCheck in five open-source projects. A total of 1528 refactoring operations have been evaluated and 93 inconsistent refactoring operations have been detected. The results show that LockCheck can effectively detect inconsistent behavior when coarse-grained locks are refactored into fine-grained locks.
Yang Zhang 0037, Grant Meredith
Int. J. Softw. Eng. Knowl. Eng.4