Refactoring improving the design of existing code
By Mauricio A. Saca. 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII), 2017
1,932 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Information Systems, Software
View Paper: https://www.semanticscholar.org/paper/f69660326658b679c1e2ca65fa7d9a8d648ae240
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Gabriele Bavota
- Matin Mansouri
- Rocco Oliveto
- Dongsun Kim
- Son Van Nguyen
- Lin Tan
- Kui Liu
- Andrea De Lucia
In Information Systems
- Tien Nhut Nguyen
- Gabriele Bavota
- Son Van Nguyen
- Lin Tan
- Massimiliano Di Penta
- Song Wang
- Rocco Oliveto
- Andrea De Lucia
In Software
- Tien Nhut Nguyen
- Son Van Nguyen
- Gabriele Bavota
- Lin Tan
- Massimiliano Di Penta
- Rocco Oliveto
- Andrea De Lucia
- Fabio Palomba
Citations in the corpus
- When and Why Your Code Starts to Smell Bad (and Whether the Smells Go Away) (2017, neutral): “Their approach aims at discovering classes that really wants to support the interface of the superclass [29].”
- Reinforcement Learning from Automatic Feedback for High-Quality Unit Test Generation (2023, neutral): “These sub-optimal design choices are commonly referred to as "test smells" [49], analogous to the concept of "code smells" for production code [19].”
- Learning to Spot and Refactor Inconsistent Method Names (2019, methodology): “Given that the performance of identification depends on the threshold value k representing the size of the sets of adjacent vectors (Lines 6 and 10 in Algorithm 1), we vary k as 1, 5, and n × 10 with n ∈ [1 , 10] .”
- Structured Chain-of-Thought Prompting for Code Generation (2023, neutral): “The total generation length of two steps is the same as CoT prompting.”
- A systematic literature review on agile requirements engineering practices and challenges (2015, background): “Code refactoring is meant to revisit and modify developed code structure, to improve on the structure and accommodate changes (Fowler, Beck, Brant, Opdyke, & Roberts, 2011).”
- CodeScope: An Execution-based Multilingual Multitask Multidimensional Benchmark for Evaluating LLMs on Code Understanding and Generation (2023, background): “Fowler (1999) first proposed the concept of code smells, introducing 22 types of code smells that violate design rules, along with their features and impacts.”
- Accurate and Efficient Refactoring Detection in Commit History (2018, methodology): “Prete et al. [46, 62] developed a tool, Ref-Finder, which detects the largest number of refactoring types (63 of 72) from Fowler’s catalog [28].”
- Exploration and Explanation in Computational Notebooks (2018, background): “The issues of notebook “cleanliness” and intelligibility resonate with the discussion of refactoring [8, 25] and “technical debt” in software engineering.”
- Graph-Based Mining of In-the-Wild, Fine-Grained, Semantic Code Change Patterns (2019, background): “Note that the catalog of refactorings to design patterns [11], [12] represent good practice of code restructuring changes, e.g.,“Move Embellishment to Decorator” , “Replace Conditional with Polymorphism” .”
- Bugram: Bug detection with n-gram language models (2016, methodology): “We consider a reported buggy sequence a refactoring issue based on principles of code smells proposed in [27], e.”
- On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation (2017, methodology): “Bad code smells (also known as “code smells” or “smells”) were defined as symptoms of poor design and implementation choices applied by programmers during the development of a software project (Fowler 1999).”