English
Related papers

Related papers: How Developers Choose Names

200 papers

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

Developers often refactor code to improve the maintainability and comprehension of the software. There are many studies on refactoring activities in traditional software systems. However, refactoring in data-intensive systems is not well…

Software Engineering · Computer Science 2022-02-08 Biruk Asmare Muse , Foutse Khomh , Giuliano Antoniol

New ways of working such as globally distributed development or the integration of self-motivated external developers into software ecosystems will require a better and more comprehensive understanding of developers' feelings, perceptions,…

Software Engineering · Computer Science 2013-12-06 Fabian Fagerholm , Jürgen Münch

With the advancement in generative language models, the selection of prompts has gained significant attention in recent years. A prompt is an instruction or description provided by the user, serving as a guide for the generative language…

Machine Learning · Statistics 2024-05-21 Haoting Zhang , Jinghai He , Rhonda Righter , Zeyu Zheng

We investigated how programmers express high-level concepts such as path names and coordinates using primitive data types. While relying too much on primitive data types is sometimes criticized as a bad smell, it is still a common practice…

Software Engineering · Computer Science 2022-03-21 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

Code summaries are brief natural language descriptions of source code pieces. The main purpose of code summarization is to assist developers in understanding code and to reduce documentation workload. In this paper, we design a novel…

Computation and Language · Computer Science 2021-03-31 Rui Xie , Wei Ye , Jinan Sun , Shikun Zhang

In the domain of software engineering, our efforts as researchers to advise industry on which software practices might be applied most effectively are limited by our lack of evidence based information about the relationships between context…

Software Engineering · Computer Science 2021-04-19 Diana Kirk , Stephen G. MacDonell

Developing test code may be a time-consuming task that usually requires much effort and cost, especially when it is done manually. Besides, during this process, developers and testers are likely to adopt bad design choices, which may lead…

Software Engineering · Computer Science 2020-03-13 Nildo Silva Junior , Larissa Rocha , Luana Almeida Martins , Ivan Machado

Gender information is no longer a mandatory input when registering for an account at many leading Internet companies. However, prediction of demographic information such as gender and age remains an important task, especially in…

Machine Learning · Computer Science 2021-02-09 Yifan Hu , Changwei Hu , Thanh Tran , Tejaswi Kasturi , Elizabeth Joseph , Matt Gillingham

Refactoring is widely recognized as one of the efficient techniques to manage technical debt and maintain a healthy software project through enforcing best design practices or coping with design defects. Previous refactoring surveys have…

Software Engineering · Computer Science 2021-09-24 Eman Abdullah AlOmar , Anthony Peruma , Mohamed Wiem Mkaouer , Christian D. Newman , Ali Ouni

In recent times, the research field of language dynamics has focused on the investigation of language evolution, dividing the work in three evolutive steps, according to the level of complexity: lexicon, categories and grammar. The Naming…

Physics and Society · Physics 2013-07-08 L. Pucci , P. Gravino , V. D. P. Servedio

The problem of writing a specification which accurately reflects the intent of the developer has long been recognized as fundamental. We propose a method and a supporting tool to write and check a specification and an implementation using a…

Software Engineering · Computer Science 2013-05-20 Paul C Attie , Fadi A Zaraket , Mohammad Fawaz , Mohammad Noureddine

Despite great advances in program synthesis techniques, they remain algorithmic black boxes. Although they guarantee that when synthesis is successful, the implementation satisfies the specification, they provide no additional information…

Programming Languages · Computer Science 2024-03-07 Amirmohammad Nazari , Souti Chattopadhyay , Swabha Swayamdipta , Mukund Raghothaman

Many programming language techniques for incremental computation employ programmer-specified names for cached information. At runtime, each name identifies a "cache location" for a dynamic data value or a sub-computation; in sum, these…

Programming Languages · Computer Science 2021-03-24 Matthew A. Hammer , Jana Dunfield , Dimitrios J. Economou , Monal Narasimhamurthy

An empirical study was conducted to analyse design strategies and knowledge used in object-oriented software design. Eight professional programmers experienced with procedural programming languages and either experienced or not experienced…

Human-Computer Interaction · Computer Science 2016-08-16 Françoise Détienne

Natural language elements in source code, e.g., the names of variables and functions, convey useful information. However, most existing bug detection tools ignore this information and therefore miss some classes of bugs. The few existing…

Software Engineering · Computer Science 2018-05-31 Michael Pradel , Koushik Sen

Context: Various approaches aim to support program comprehension by automatically detecting algorithms in source code. However, no empirical evaluations of their helpfulness have been performed. Objective: To empirically evaluate how…

Software Engineering · Computer Science 2025-04-29 Denis Neumüller , Alexander Raschke , Matthias Tichy

Out of thousands of names to choose from, picking the right one for your child is a daunting task. In this work, our objective is to help parents making an informed decision while choosing a name for their baby. We follow a recommender…

Information Retrieval · Computer Science 2014-07-21 Bernat Coma-Puig , Ernesto Diaz-Aviles , Wolfgang Nejdl

Extract local variable is one of the most popular refactorings, and most IDEs and refactoring tools provide automated support for this refactoring. However, we find approximately 70% of the names recommended by these IDEs are different from…

Software Engineering · Computer Science 2025-07-02 Taiming Wang , Hui Liu , Yuxia Zhang , Yanjie Jiang

Personas are commonly used in software projects to gain a better understanding of end-users' needs. However, there is a limited understanding of their usage and effectiveness in practice. This paper presents the results of a two-step…

Software Engineering · Computer Science 2024-03-26 Yi Wang , Chetan Arora , Xiao Liu , Thuong Hoang , Vasudha Malhotra , Ben Cheng , John Grundy