Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering 2014
DOI: 10.1145/2635868.2635883
|View full text |Cite
|
Sign up to set email alerts
|

Learning natural coding conventions

Abstract: Every programmer has a characteristic style, ranging from preferences about identifier naming to preferences about object relationships and design patterns. Coding conventions define a consistent syntactic style, fostering readability and hence maintainability. When collaborating, programmers strive to obey a project's coding conventions. However, one third of reviews of changes contain feedback about coding conventions, indicating that programmers do not always follow them and that project members care deeply… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

2
263
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 315 publications
(265 citation statements)
references
References 65 publications
(72 reference statements)
2
263
0
Order By: Relevance
“…MATCH(t:FrequentTerm:PPackage), (p:Package {fullName:t.packageFullName}) RETURN t,p Code conventions can often be expressed as common practices which follows certain consensus before than as imposed rules [19]. The proposed analysis enables identifying a consensus of terms in following the naming patterns.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…MATCH(t:FrequentTerm:PPackage), (p:Package {fullName:t.packageFullName}) RETURN t,p Code conventions can often be expressed as common practices which follows certain consensus before than as imposed rules [19]. The proposed analysis enables identifying a consensus of terms in following the naming patterns.…”
Section: Resultsmentioning
confidence: 99%
“…The relevance of class names lies in determining the code legibility, portability, maintainability, and accessibility to new team members, and relating the source code to the problem domain [19]. Also, industry experts highlight the importance of identifier names in software [12,28,31].…”
Section: Naming Patternsmentioning
confidence: 99%
“…These include mining coding conventions [14] and idioms [13], API example code [48] and pseudo-code generation [49], and benchmark generation [7]. Our work is the first attempt to extend the already challenging task of modeling distributions over source code to learning distributions over source code with respect to code optimizations.…”
Section: Related Workmentioning
confidence: 99%
“…Our insight was that such costly approaches are not necessary any more. Deep learning techniques have shown astounding successes in identifying complex patterns and relationships in images [10,11], audio [12], and even computer code [7,13,14]. We hypothesized that deep neural networks should be able to automatically extract features from source code.…”
Section: Introductionmentioning
confidence: 99%
“…According to Allamanis [21], coding conventions define a coherent syntactic style, promoting readability and thus maintainability. Coding conventions (naming, formatting decisions) determine the clarity of the source code, increasing code portability, accessibility to new coders, reliability and maintainability.…”
Section: Coding Conventionsmentioning
confidence: 99%