Deepbugs: A learning approach to name-based bug detection
Natural language elements in source code, eg, the names of variables and functions,
convey useful information. However, most existing bug detection tools ignore this …
convey useful information. However, most existing bug detection tools ignore this …
Suggesting accurate method and class names
Descriptive names are a vital part of readable, and hence maintainable, code. Recent
progress on automatically suggesting names for local variables tantalizes with the prospect …
progress on automatically suggesting names for local variables tantalizes with the prospect …
Learning natural coding conventions
Every programmer has a characteristic style, ranging from preferences about identifier
naming to preferences about object relationships and design patterns. Coding conventions …
naming to preferences about object relationships and design patterns. Coding conventions …
A comparative study to benchmark cross-project defect prediction approaches
Cross-Project Defect Prediction (CPDP) as a means to focus quality assurance of software
projects was under heavy investigation in recent years. However, within the current state-of …
projects was under heavy investigation in recent years. However, within the current state-of …
How developers engage with static analysis tools in different contexts
Automatic static analysis tools (ASATs) are instruments that support code quality
assessment by automatically detecting defects and design issues. Despite their popularity …
assessment by automatically detecting defects and design issues. Despite their popularity …
Learning to spot and refactor inconsistent method names
To ensure code readability and facilitate software maintenance, program methods must be
named properly. In particular, method names must be consistent with the corresponding …
named properly. In particular, method names must be consistent with the corresponding …
Automated variable renaming: are we there yet?
Identifiers, such as method and variable names, form a large portion of source code.
Therefore, low-quality identifiers can substantially hinder code comprehension. To support …
Therefore, low-quality identifiers can substantially hinder code comprehension. To support …
The effect of poor source code lexicon and readability on developers' cognitive load
It has been well documented that a large portion of the cost of any software lies in the time
spent by developers in understanding a program's source code before any changes can be …
spent by developers in understanding a program's source code before any changes can be …
Statistical deobfuscation of android applications
This work presents a new approach for deobfuscating Android APKs based on probabilistic
learning of large code bases (termed" Big Code"). The key idea is to learn a probabilistic …
learning of large code bases (termed" Big Code"). The key idea is to learn a probabilistic …
A simpler model of software readability
Software readability is a property that influences how easily a given piece of code can be
read and understood. Since readability can affect maintainability, quality, etc., programmers …
read and understood. Since readability can affect maintainability, quality, etc., programmers …