Descriptive names are crucial to understand code. How-ever, good names are notoriously hard to choose and manu-ally changing a globally visible name can be a maintenance nightmare. Hence, tool support for automated renaming is an essential aid for developers and widely supported by popular development environments. This work improves on two limitations in current refac-toring tools: too weak preconditions that lead to unsound-ness where names do not bind to the correct declarations after renaming, and too strong preconditions that prevent re-naming of certain programs. We identify two main reasons for unsoundness: complex name lookup rules make it hard to define sufficient preconditions, and new language features require additional precondi...
Studies have demonstrated the importance of good identifier names to program comprehension. It is un...
The application of program transformations and refactorings involves the risk of capturing variables...
A refactoring is a program transformation that improves the design of the source code, while preserv...
Naming conventions can help the readability and comprehension of code, and thus the onboarding of ne...
Programmer-provided identifier names convey information about the semantics of a program. This infor...
The readability of identifiers is a major factor of program comprehension and an aim of naming conve...
peer reviewedTo ensure code readability and facilitate software maintenance, program methods must be...
Decompilation is the process of translating object code to source code and is usually the first step...
This is the dataset that accompanies the study: "Rename Chains: An Exploratory Study on the Occurren...
In Object-oriented Programming (OOP), the Cognitive Complexity (CC) of software is a metric of the d...
Identifiers play a key role in code quality and comprehension, as poorly named identifiers hinder th...
Naming code can seem like a simple task, however finding a good name can be rather challenging. Enti...
Class names represent the concepts implemented in object-oriented source code and are key elements i...
Identifier names are the atoms of program comprehension. Weak identifier names decrease developer pr...
Decompilation is the process of translating object code to source code and is usually the first step...
Studies have demonstrated the importance of good identifier names to program comprehension. It is un...
The application of program transformations and refactorings involves the risk of capturing variables...
A refactoring is a program transformation that improves the design of the source code, while preserv...
Naming conventions can help the readability and comprehension of code, and thus the onboarding of ne...
Programmer-provided identifier names convey information about the semantics of a program. This infor...
The readability of identifiers is a major factor of program comprehension and an aim of naming conve...
peer reviewedTo ensure code readability and facilitate software maintenance, program methods must be...
Decompilation is the process of translating object code to source code and is usually the first step...
This is the dataset that accompanies the study: "Rename Chains: An Exploratory Study on the Occurren...
In Object-oriented Programming (OOP), the Cognitive Complexity (CC) of software is a metric of the d...
Identifiers play a key role in code quality and comprehension, as poorly named identifiers hinder th...
Naming code can seem like a simple task, however finding a good name can be rather challenging. Enti...
Class names represent the concepts implemented in object-oriented source code and are key elements i...
Identifier names are the atoms of program comprehension. Weak identifier names decrease developer pr...
Decompilation is the process of translating object code to source code and is usually the first step...
Studies have demonstrated the importance of good identifier names to program comprehension. It is un...
The application of program transformations and refactorings involves the risk of capturing variables...
A refactoring is a program transformation that improves the design of the source code, while preserv...