English
Related papers

Related papers: On the Generation, Structure, and Semantics of Gra…

200 papers

Identifier names are crucial components of code, serving as primary clues for developers to understand program behavior. This paper investigates the linguistic structure of identifier names by extending the concept of grammar patterns,…

The paper presents the Source Code Analysis and Lexical Annotation Runtime (SCALAR), a tool specialized for mapping (annotating) source code identifier names to their corresponding part-of-speech tag sequence (grammar pattern). SCALAR's…

Unknowingly, identifiers in the source code of a software system play a vital role in determining the quality of the system. Ambiguous and confusing identifier names lead developers to not only misunderstand the behavior of the code but…

Software Engineering · Computer Science 2021-03-26 Anthony Peruma

This paper presents an ensemble part-of-speech tagging approach for source code identifiers. Ensemble tagging is a technique that uses machine-learning and the output from multiple part-of-speech taggers to annotate natural language text at…

The emergence of online open source repositories in the recent years has led to an explosion in the volume of openly available source code, coupled with metadata that relate to a variety of software development activities. As an effect, in…

Software Engineering · Computer Science 2023-12-05 Vasiliki Efstathiou , Diomidis Spinellis

Crowdsourcing has been the prevalent paradigm for creating natural language understanding datasets in recent years. A common crowdsourcing practice is to recruit a small number of high-quality workers, and have them massively generate…

Computation and Language · Computer Science 2019-08-29 Mor Geva , Yoav Goldberg , Jonathan Berant

Identifier names convey useful information about the intended semantics of code. Name-based program analyses use this information, e.g., to detect bugs, to predict types, and to improve the readability of code. At the core of name-based…

Machine Learning · Computer Science 2021-01-15 Yaza Wainakh , Moiz Rauf , Michael Pradel

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 developers in using meaningful identifiers, several…

Software Engineering · Computer Science 2022-12-13 Antonio Mastropaolo , Emad Aghajani , Luca Pascarella , Gabriele Bavota

When writing source code, programmers have varying levels of freedom when it comes to the creation and use of identifiers. Do they habitually use the same identifiers, names that are different to those used by others? Is it then possible to…

Software Engineering · Computer Science 2021-02-01 Georgia Frantzeskou , Stephen G. MacDonell , Efstathios Stamatatos , Stelios Georgiou , Stefanos Gritzalis

Identifier names, which comprise a significant portion of the codebase, are the cornerstone of effective program comprehension. However, research has shown that poorly chosen names can significantly increase cognitive load and hinder…

Software Engineering · Computer Science 2025-07-25 Carol Wong , Mai Abe , Silvia De Benedictis , Marissa Halim , Anthony Peruma

Software systems that process structured inputs often lack complete and up-to-date specifications, which specify the input syntax and the semantics of input processing. While grammar mining techniques have focused on recovering syntactic…

Software Engineering · Computer Science 2025-07-18 Andreas Pointner , Josef Pichler , Herbert Prähofer

As of today the programming language of the vast majority of the published source code is manually specified or programmatically assigned based on the sole file extension. In this paper we show that the source code programming language…

Machine Learning · Computer Science 2017-03-23 Shaul Zevin , Catherine Holzem

Many of the existing approaches for program comprehension rely on the linguistic information found in source code, such as identifier names and comments. Semantic clustering is one such technique for modularization of the system that relies…

Software Engineering · Computer Science 2017-08-08 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

Numeral systems across the world's languages vary in fascinating ways, both regarding their synchronic structure and the diachronic processes that determined how they evolved in their current shape. For a proper comparison of numeral…

Programmer attribution seeks to identify or verify the author of a source code artifact using stylistic, structural, or behavioural characteristics. This problem has been studied across software engineering, security, and digital forensics,…

Software Engineering · Computer Science 2026-03-13 Marek Horvath , Emilia Pietrikova , Diomidis Spinellis

Identifier names play a significant role in program comprehension activities, with high-quality names improving developer productivity and system quality. To correct poor-quality names, developers rename identifiers to reflect their…

Software Engineering · Computer Science 2023-02-27 Anthony Peruma , Christian D. Newman

With the rapid increasing of software project size and maintenance cost, adherence to coding standards especially by managing identifier naming, is attracting a pressing concern from both computer science educators and software managers.…

Software Engineering · Computer Science 2014-06-03 Yanqing Wang , Chong Wang , Xiaojie Li , Sijing Yun , Minjing Song

This research paper aims to find, analyze and understand code patterns in any software system and measure its quality by defining standards and proposing a formula for the same. Every code that is written can be divided into different code…

Software Engineering · Computer Science 2011-07-01 Jitesh Dundas

For the purposes of tool development, computer languages are usually described using context-free grammars with annotations such as semantic actions or pretty-printing instructions. These descriptions are processed by generators which…

Programming Languages · Computer Science 2010-01-19 Andrey Breslav

Researchers have traditionally recruited native speakers to provide annotations for widely used benchmark datasets. However, there are languages for which recruiting native speakers can be difficult, and it would help to find learners of…

Computation and Language · Computer Science 2023-05-30 Haneul Yoo , Rifki Afina Putri , Changyoon Lee , Youngin Lee , So-Yeon Ahn , Dongyeop Kang , Alice Oh
‹ Prev 1 2 3 10 Next ›