Understanding Digits in Identifier Names: An Exploratory Study

Anthony Peruma
Anthony PerumaAssistant Professor at University of Hawai‘i at Mānoa
The 1st International Workshop on Natural Language-based Software Engineering (NLBSE ‘22)
Understanding Digits in Identifier Names
An Exploratory Study
Anthony Peruma and Christian D. Newman
Source Code Analysis and Natural Language Lab
SUMMARY
We explore the presence and
purpose of digits in identifier
names through an empirical study
of 800 open-source Java systems
01
BACKGROUND
Identifier names help developers understand the purpose of
the identifier
Names must be unambiguous and intent revealing in
communicating the purpose and behavior of the code
Developers can craft names using a variety of terms making
name consistency challenging
Prior studies focused on the words that make up identifiers,
not digits, such as abbreviations, acronyms, and naming styles.
02
OUR
GOAL
Understand the part played by digits in
identifier names by examining the
structure of names containing digits and
the semantics expressed by the digits.
03
IMPACT
Findings from our study facilitate research
and development of tools to aid in name
recommendation and appraisal.
04
RESEARCH
QUESTIONS
02
How does identifier renaming
operations in the source code
impact the existence of digits in an
identifier's name?
• Volume and characteristics
• Digit preservation
How do developers utilize digits in an
identifier's name to convey meaning?
• Qualitative examination of names
• Taxonomy for the presence of digits
01
05
OUR CONTRIBUTIONS
Taxonomy for
the Presence of
Digits
Patterns &
Trends of Digits
in Names
Discussion of
Research
Challenges
06
STUDY DESIGN
07
Dataset of rename refactorings
from 800 Java projects
(28,079 rename operations)
Extract
Identifiers
With Digits
Identifier
Name Splitting
Rename
Exclusion
Quantitative Analysis Qualitative Analysis
15,424 rename operations
EXPERIMENT RESULTS
08
RQ 1: The treatment of names with digits over time
09
Approach:
● Automated examination of the presence and/or absence of digits in an identifier’s
name before and after a rename operation
Findings:
● Digits are frequently preserved when renamed (e.g., node2 → node3)
○ 43.56% instances preserve digits
○ 33.29% instances remove digits
○ 23.15% instances add digits
● Digit preservation:
○ Most names contain only a single digit in the old & new name
■ 79.93% instances
○ Equal number of digits in the old & new name
■ 91.35% instances
○ The position of the digit is mostly preserved
■ 2nd position in name – 28.73% (e.g., shade2 → shade2Figure)
2 3
RQ 2: The meaning conveyed by digits in a name
10
Approach:
● Manual examination of 375 rename instances by the authors (stratified statistically
significant sample)
○ Includes reviewing the surrounding code
○ Snowballing to locate examples of additional instances in the original dataset
Findings:
● Taxonomy of 6 categories showing how digits convey meaning in a name:
○ Auto-Generated
○ Distinguisher
○ Synonym
○ Version Number
○ Specification
○ Domain/Technology
RQ 2: The meaning conveyed by digits in a name
10
Auto-Generated
• Created by a code generation tool,
or IDE; not easily comprehensible
• Numbers may have a meaning
based on the generation technique
• E.g., LA18_6
Distinguisher
• Usually the last token in the name
• At least two identifiers having a
lexically identical name
• Avoid name collision at compilation
• E.g., auditLog3
Synonym
• At least one digit utilized in place of
a word
• The numbers 2 and 4 are very
common example
• E.g., convert2RList
Domain/Technology
• The digit that is part of the name of
a domain term or technology
• Digits themselves have no
individual meaning
• E.g., slf4jLogLevel
Specification
• Represents a specification
• Acts as a way to uniquely identify
concepts, behaviors, or
characteristics.
• E.g., arialRegular9Dark
Version Number
• Digit used to signify a version
number
• Indicates significant capabilities and
limitations or the identifier
• E.g., V1DozerTransformModel
DISCUSSION &
CONCLUSION
08
KEY CHALLENGES
● Auto-generated code can skew findings;
○ Most likely you will need to run multiple iterations of your data
collection/extraction process to isolate auto-generated identifiers
● The volume of auto-generated names can hinder data sampling activities as they
may comprise of the majority of identifiers in the code
○ This can vary depending on the type of auto-generated code the project utilizes
● Automatically detecting auto-generated identifiers is not straightforward
○ Heuristics can help, but only partly and is human dependent
● Numbers can have different interpretations; with limited research in this specific
area, we don't know if numbers hinder or help comprehension
KEY TAKEAWAYS
12
Digits Are Preserved
Post-Rename
01
The Digits Found in
Identifier Names Are
Meaningful
02
Improve identifier name appraisals and
recommendations when developers
perform rename operations
Utilize static analysis to determine if the
digit is related to the code
Build a catalog of technologies,
standards, or domain terms in the project
IDENTIFIER NAMING STRUCTURE CATALOGUE
A resource about what is scientifically known about naming identifiers
13
Part-of-Speech Tagset Linguistic Terminology
Linguistic Antipatterns Common Naming Structures
Naming Styles
Available at: h t t p s : / / w w w . s c a n l . o r g
THANK
YOU!
For more of what we do, visit:
https://www.scanl.org/
1 of 17

Recommended

Contextualizing Rename Decisions using Refactorings and Commit Messages by
Contextualizing Rename Decisions using Refactorings and Commit MessagesContextualizing Rename Decisions using Refactorings and Commit Messages
Contextualizing Rename Decisions using Refactorings and Commit MessagesAnthony Peruma
129 views13 slides
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q... by
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...Anthony Peruma
7 views59 slides
Data structure Unit-I Part A by
Data structure Unit-I Part AData structure Unit-I Part A
Data structure Unit-I Part ASSN College of Engineering, Kalavakkam
313 views53 slides
Programming construction tools by
Programming construction toolsProgramming construction tools
Programming construction toolssunilchute1
163 views18 slides
args_types by
args_typesargs_types
args_typesAhmed Abd El-Mawgood
114 views47 slides
c#.pptx by
c#.pptxc#.pptx
c#.pptxJoselitoJMebolos
18 views52 slides

More Related Content

Similar to Understanding Digits in Identifier Names: An Exploratory Study

Software Craftmanship - Cours Polytech by
Software Craftmanship - Cours PolytechSoftware Craftmanship - Cours Polytech
Software Craftmanship - Cours Polytechyannick grenzinger
31 views66 slides
Unit 4 plsql by
Unit 4  plsqlUnit 4  plsql
Unit 4 plsqlDrkhanchanaR
1.2K views119 slides
CSE 1201: Structured Programming Language by
CSE 1201: Structured Programming LanguageCSE 1201: Structured Programming Language
CSE 1201: Structured Programming LanguageZubayer Farazi
22 views71 slides
Clean code: meaningful Name by
Clean code: meaningful NameClean code: meaningful Name
Clean code: meaningful Namenahid035
1.2K views16 slides
Data Type in C Programming by
Data Type in C ProgrammingData Type in C Programming
Data Type in C ProgrammingQazi Shahzad Ali
3.1K views50 slides
Cp presentation by
Cp presentationCp presentation
Cp presentationMeetaPrajapati
17 views13 slides

Similar to Understanding Digits in Identifier Names: An Exploratory Study(20)

CSE 1201: Structured Programming Language by Zubayer Farazi
CSE 1201: Structured Programming LanguageCSE 1201: Structured Programming Language
CSE 1201: Structured Programming Language
Zubayer Farazi22 views
Clean code: meaningful Name by nahid035
Clean code: meaningful NameClean code: meaningful Name
Clean code: meaningful Name
nahid0351.2K views
Keep your repo clean by Hector Canto
Keep your repo cleanKeep your repo clean
Keep your repo clean
Hector Canto246 views
Natural Language Query to SQL conversion using Machine Learning Approach by Minhazul Arefin
Natural Language Query to SQL conversion using Machine Learning ApproachNatural Language Query to SQL conversion using Machine Learning Approach
Natural Language Query to SQL conversion using Machine Learning Approach
Minhazul Arefin474 views
OOP lesson1 and Variables.pdf by HouseMusica
OOP lesson1 and Variables.pdfOOP lesson1 and Variables.pdf
OOP lesson1 and Variables.pdf
HouseMusica18 views
classVI_Coding_Teacher_Presentation.pptx by ssusere336f4
classVI_Coding_Teacher_Presentation.pptxclassVI_Coding_Teacher_Presentation.pptx
classVI_Coding_Teacher_Presentation.pptx
ssusere336f43 views
SE-IT JAVA LAB OOP CONCEPT by nikshaikh786
SE-IT JAVA LAB OOP CONCEPTSE-IT JAVA LAB OOP CONCEPT
SE-IT JAVA LAB OOP CONCEPT
nikshaikh786153 views
Javascript Programming according to Industry Standards.pptx by MukundSonaiya1
Javascript Programming according to Industry Standards.pptxJavascript Programming according to Industry Standards.pptx
Javascript Programming according to Industry Standards.pptx
MukundSonaiya12 views
The art of readable code (ch1~ch4) by Ki Sung Bae
The art of readable code (ch1~ch4)The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)
Ki Sung Bae17.3K views
The art of readable code (ch1~ch4) by Ki Sung Bae
The art of readable code (ch1~ch4)The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)
Ki Sung Bae598 views
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne... by Neo4j
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
Neo4j2.7K views
MLlib and Machine Learning on Spark by Petr Zapletal
MLlib and Machine Learning on SparkMLlib and Machine Learning on Spark
MLlib and Machine Learning on Spark
Petr Zapletal4.9K views
CS433- Computer Security Fall 2023(1).pdf by ssuserf6136d1
CS433- Computer Security Fall 2023(1).pdfCS433- Computer Security Fall 2023(1).pdf
CS433- Computer Security Fall 2023(1).pdf
ssuserf6136d15 views

More from Anthony Peruma

Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ... by
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...Anthony Peruma
103 views19 slides
A Primer on High-Quality Identifier Naming [ASE 2022] by
A Primer on High-Quality Identifier Naming [ASE 2022]A Primer on High-Quality Identifier Naming [ASE 2022]
A Primer on High-Quality Identifier Naming [ASE 2022]Anthony Peruma
48 views57 slides
Preparing for the Academic Job Market: Experience and Tips from a Recent F... by
Preparing for the  Academic Job Market:  Experience and Tips from  a Recent F...Preparing for the  Academic Job Market:  Experience and Tips from  a Recent F...
Preparing for the Academic Job Market: Experience and Tips from a Recent F...Anthony Peruma
114 views24 slides
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B... by
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...Anthony Peruma
77 views11 slides
A Primer on High-Quality Identifier Naming by
A Primer on High-Quality Identifier NamingA Primer on High-Quality Identifier Naming
A Primer on High-Quality Identifier NamingAnthony Peruma
48 views55 slides
Test Anti-Patterns: From Definition to Detection by
Test Anti-Patterns: From Definition to DetectionTest Anti-Patterns: From Definition to Detection
Test Anti-Patterns: From Definition to DetectionAnthony Peruma
15 views39 slides

More from Anthony Peruma(18)

Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ... by Anthony Peruma
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
Anthony Peruma103 views
A Primer on High-Quality Identifier Naming [ASE 2022] by Anthony Peruma
A Primer on High-Quality Identifier Naming [ASE 2022]A Primer on High-Quality Identifier Naming [ASE 2022]
A Primer on High-Quality Identifier Naming [ASE 2022]
Anthony Peruma48 views
Preparing for the Academic Job Market: Experience and Tips from a Recent F... by Anthony Peruma
Preparing for the  Academic Job Market:  Experience and Tips from  a Recent F...Preparing for the  Academic Job Market:  Experience and Tips from  a Recent F...
Preparing for the Academic Job Market: Experience and Tips from a Recent F...
Anthony Peruma114 views
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B... by Anthony Peruma
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Anthony Peruma77 views
A Primer on High-Quality Identifier Naming by Anthony Peruma
A Primer on High-Quality Identifier NamingA Primer on High-Quality Identifier Naming
A Primer on High-Quality Identifier Naming
Anthony Peruma48 views
Test Anti-Patterns: From Definition to Detection by Anthony Peruma
Test Anti-Patterns: From Definition to DetectionTest Anti-Patterns: From Definition to Detection
Test Anti-Patterns: From Definition to Detection
Anthony Peruma15 views
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B... by Anthony Peruma
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Anthony Peruma225 views
IDEAL: An Open-Source Identifier Name Appraisal Tool by Anthony Peruma
IDEAL: An Open-Source Identifier Name Appraisal ToolIDEAL: An Open-Source Identifier Name Appraisal Tool
IDEAL: An Open-Source Identifier Name Appraisal Tool
Anthony Peruma110 views
Using Grammar Patterns to Interpret Test Method Name Evolution by Anthony Peruma
Using Grammar Patterns to Interpret Test Method Name EvolutionUsing Grammar Patterns to Interpret Test Method Name Evolution
Using Grammar Patterns to Interpret Test Method Name Evolution
Anthony Peruma65 views
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator... by Anthony Peruma
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Explorator...
Anthony Peruma62 views
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica... by Anthony Peruma
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
An Exploratory Study on the Refactoring of Unit Test Files in Android Applica...
Anthony Peruma115 views
On the Distribution of Test Smells in Open Source Android Applications: An Ex... by Anthony Peruma
On the Distribution of Test Smells in Open Source Android Applications: An Ex...On the Distribution of Test Smells in Open Source Android Applications: An Ex...
On the Distribution of Test Smells in Open Source Android Applications: An Ex...
Anthony Peruma128 views
A Preliminary Study of Android Refactorings by Anthony Peruma
A Preliminary Study of Android RefactoringsA Preliminary Study of Android Refactorings
A Preliminary Study of Android Refactorings
Anthony Peruma167 views
Permission Issues in Open-Source Android Apps: An Exploratory Study by Anthony Peruma
Permission Issues in Open-Source Android Apps: An Exploratory StudyPermission Issues in Open-Source Android Apps: An Exploratory Study
Permission Issues in Open-Source Android Apps: An Exploratory Study
Anthony Peruma164 views
Web Content Management - Introduction by Anthony Peruma
Web Content Management - IntroductionWeb Content Management - Introduction
Web Content Management - Introduction
Anthony Peruma596 views
SharePoint 2013 - Search Driven Publishing by Anthony Peruma
SharePoint 2013 - Search Driven PublishingSharePoint 2013 - Search Driven Publishing
SharePoint 2013 - Search Driven Publishing
Anthony Peruma751 views

Recently uploaded

.NET Deserialization Attacks by
.NET Deserialization Attacks.NET Deserialization Attacks
.NET Deserialization AttacksDharmalingam Ganesan
7 views50 slides
What is API by
What is APIWhat is API
What is APIartembondar5
16 views15 slides
Top-5-production-devconMunich-2023.pptx by
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptxTier1 app
10 views40 slides
Using Qt under LGPL-3.0 by
Using Qt under LGPL-3.0Using Qt under LGPL-3.0
Using Qt under LGPL-3.0Burkhard Stubert
15 views11 slides
Ports-and-Adapters Architecture for Embedded HMI by
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMIBurkhard Stubert
37 views19 slides
Quality Assurance by
Quality Assurance Quality Assurance
Quality Assurance interworksoftware2
10 views6 slides

Recently uploaded(20)

Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app10 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert37 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem447 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS13 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254559 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages9 views
Mobile App Development Company by Richestsoft
Mobile App Development CompanyMobile App Development Company
Mobile App Development Company
Richestsoft 6 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic17 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67026 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1225 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app10 views

Understanding Digits in Identifier Names: An Exploratory Study

  • 1. The 1st International Workshop on Natural Language-based Software Engineering (NLBSE ‘22) Understanding Digits in Identifier Names An Exploratory Study Anthony Peruma and Christian D. Newman Source Code Analysis and Natural Language Lab
  • 2. SUMMARY We explore the presence and purpose of digits in identifier names through an empirical study of 800 open-source Java systems 01
  • 3. BACKGROUND Identifier names help developers understand the purpose of the identifier Names must be unambiguous and intent revealing in communicating the purpose and behavior of the code Developers can craft names using a variety of terms making name consistency challenging Prior studies focused on the words that make up identifiers, not digits, such as abbreviations, acronyms, and naming styles. 02
  • 4. OUR GOAL Understand the part played by digits in identifier names by examining the structure of names containing digits and the semantics expressed by the digits. 03
  • 5. IMPACT Findings from our study facilitate research and development of tools to aid in name recommendation and appraisal. 04
  • 6. RESEARCH QUESTIONS 02 How does identifier renaming operations in the source code impact the existence of digits in an identifier's name? • Volume and characteristics • Digit preservation How do developers utilize digits in an identifier's name to convey meaning? • Qualitative examination of names • Taxonomy for the presence of digits 01 05
  • 7. OUR CONTRIBUTIONS Taxonomy for the Presence of Digits Patterns & Trends of Digits in Names Discussion of Research Challenges 06
  • 8. STUDY DESIGN 07 Dataset of rename refactorings from 800 Java projects (28,079 rename operations) Extract Identifiers With Digits Identifier Name Splitting Rename Exclusion Quantitative Analysis Qualitative Analysis 15,424 rename operations
  • 10. RQ 1: The treatment of names with digits over time 09 Approach: ● Automated examination of the presence and/or absence of digits in an identifier’s name before and after a rename operation Findings: ● Digits are frequently preserved when renamed (e.g., node2 → node3) ○ 43.56% instances preserve digits ○ 33.29% instances remove digits ○ 23.15% instances add digits ● Digit preservation: ○ Most names contain only a single digit in the old & new name ■ 79.93% instances ○ Equal number of digits in the old & new name ■ 91.35% instances ○ The position of the digit is mostly preserved ■ 2nd position in name – 28.73% (e.g., shade2 → shade2Figure) 2 3
  • 11. RQ 2: The meaning conveyed by digits in a name 10 Approach: ● Manual examination of 375 rename instances by the authors (stratified statistically significant sample) ○ Includes reviewing the surrounding code ○ Snowballing to locate examples of additional instances in the original dataset Findings: ● Taxonomy of 6 categories showing how digits convey meaning in a name: ○ Auto-Generated ○ Distinguisher ○ Synonym ○ Version Number ○ Specification ○ Domain/Technology
  • 12. RQ 2: The meaning conveyed by digits in a name 10 Auto-Generated • Created by a code generation tool, or IDE; not easily comprehensible • Numbers may have a meaning based on the generation technique • E.g., LA18_6 Distinguisher • Usually the last token in the name • At least two identifiers having a lexically identical name • Avoid name collision at compilation • E.g., auditLog3 Synonym • At least one digit utilized in place of a word • The numbers 2 and 4 are very common example • E.g., convert2RList Domain/Technology • The digit that is part of the name of a domain term or technology • Digits themselves have no individual meaning • E.g., slf4jLogLevel Specification • Represents a specification • Acts as a way to uniquely identify concepts, behaviors, or characteristics. • E.g., arialRegular9Dark Version Number • Digit used to signify a version number • Indicates significant capabilities and limitations or the identifier • E.g., V1DozerTransformModel
  • 14. KEY CHALLENGES ● Auto-generated code can skew findings; ○ Most likely you will need to run multiple iterations of your data collection/extraction process to isolate auto-generated identifiers ● The volume of auto-generated names can hinder data sampling activities as they may comprise of the majority of identifiers in the code ○ This can vary depending on the type of auto-generated code the project utilizes ● Automatically detecting auto-generated identifiers is not straightforward ○ Heuristics can help, but only partly and is human dependent ● Numbers can have different interpretations; with limited research in this specific area, we don't know if numbers hinder or help comprehension
  • 15. KEY TAKEAWAYS 12 Digits Are Preserved Post-Rename 01 The Digits Found in Identifier Names Are Meaningful 02 Improve identifier name appraisals and recommendations when developers perform rename operations Utilize static analysis to determine if the digit is related to the code Build a catalog of technologies, standards, or domain terms in the project
  • 16. IDENTIFIER NAMING STRUCTURE CATALOGUE A resource about what is scientifically known about naming identifiers 13 Part-of-Speech Tagset Linguistic Terminology Linguistic Antipatterns Common Naming Structures Naming Styles Available at: h t t p s : / / w w w . s c a n l . o r g
  • 17. THANK YOU! For more of what we do, visit: https://www.scanl.org/