English
Related papers

Related papers: IDEAL: An Open-Source Identifier Name Appraisal To…

200 papers

Consistency is one of the keys to maintainable source code and hence a successful software project. We propose a novel method of extracting the intent of programmers from source code of a large project (~300kLOC) and checking the semantic…

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

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…

Software Engineering · Computer Science 2016-11-09 Miltiadis Allamanis , Earl T. Barr , Christian Bird , Charles Sutton

Research scientists increasingly rely on implementing software to support their research. While previous research has examined the impact of identifier names on program comprehension in traditional programming environments, limited work has…

Software Engineering · Computer Science 2025-07-23 Gunnar Larsen , Carol Wong , Anthony Peruma

Semantic identifier (ID) is an important concept in information retrieval that aims to preserve the semantics of objects such as documents and items inside their IDs. Previous studies typically adopt a two-stage pipeline to learn semantic…

Information Retrieval · Computer Science 2024-06-14 Bowen Jin , Hansi Zeng , Guoyin Wang , Xiusi Chen , Tianxin Wei , Ruirui Li , Zhengyang Wang , Zheng Li , Yang Li , Hanqing Lu , Suhang Wang , Jiawei Han , Xianfeng Tang

The names of variables and functions serve as implicit documentation and are instrumental for program comprehension. But choosing good meaningful names is hard. We perform a sequence of experiments in which a total of 334 subjects are…

Software Engineering · Computer Science 2021-03-16 Dror G. Feitelson , Ayelet Mizrahi , Nofar Noy , Aviad Ben Shabat , Or Eliyahu , Roy Sheffer

Information extraction from handwritten documents involves traditionally three distinct steps: Document Layout Analysis, Handwritten Text Recognition, and Named Entity Recognition. Recent approaches have attempted to integrate these steps…

Artificial Intelligence · Computer Science 2026-02-03 Thomas Constum , Pierrick Tranouez , Thierry Paquet

Traditional code search engines often do not perform well with natural language queries since they mostly apply keyword matching. These engines thus require carefully designed queries containing information about programming APIs for code…

Software Engineering · Computer Science 2018-07-13 Mohammad Masudur Rahman , Chanchal K. Roy , David Lo

Most application development happens in the context of complex APIs; reference documentation for APIs has grown tremendously in variety, complexity, and volume, and can be difficult to navigate. There is a growing need to develop…

Software Engineering · Computer Science 2016-07-27 Niraj Kumar , Premkumar Devanbu

Entity resolution (record linkage, microclustering) systems are notoriously difficult to evaluate. Looking for a needle in a haystack, traditional evaluation methods use sophisticated, application-specific sampling schemes to find matching…

Computation and Language · Computer Science 2024-04-09 Olivier Binette , Youngsoo Baek , Siddharth Engineer , Christina Jones , Abel Dasylva , Jerome P. Reiter

The practice of programming is undergoing a revolution with the introduction of AI assisted development (copilots) and the creation of new programming languages that are designed explicitly for tooling, analysis, and automation. Integrated…

Software Engineering · Computer Science 2024-06-17 Mark Marron

The design and development process for Internet of Things (IoT) applications is more complicated than for desktop, mobile, or web applications. IoT applications require both software and hardware to work together across multiple different…

Software Engineering · Computer Science 2020-12-01 Charith Perera , Mahmoud Barhamgi , Massimo Vecchio

Pythonic code is idiomatic code that follows guiding principles and practices within the Python community. Offering performance and readability benefits, Pythonic code is claimed to be widely adopted by experienced Python developers, but…

Using APIs to develop software applications is the norm. APIs help developers to build applications faster as they do not need to reinvent the wheel. It is therefore important for developers to understand the APIs that they plan to use.…

Software Engineering · Computer Science 2023-04-06 Ferdian Thung , Kisub Kim , Ting Zhang , Ivana Clairine Irsan , Ratnadira Widyasari , Zhou Yang , David Lo

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

Labeling neural network submodules with human-legible descriptions is useful for many downstream tasks: such descriptions can surface failures, guide interventions, and perhaps even explain important model behaviors. To date, most…

Computation and Language · Computer Science 2023-12-11 Sarah Schwettmann , Tamar Rott Shaham , Joanna Materzynska , Neil Chowdhury , Shuang Li , Jacob Andreas , David Bau , Antonio Torralba

A great part of software development involves conceptualizing or communicating the underlying procedures and logic that needs to be expressed in programs. One major difficulty of programming is turning concept into code, especially when…

Software Engineering · Computer Science 2021-09-23 Frank F. Xu , Bogdan Vasilescu , Graham Neubig

Decompilers are important tools for reverse engineers that help them analyze software at a higher level of abstraction than assembly code. Unfortunately, because compilation is lossy, deterministic decompilers produce code that is missing…

Software Engineering · Computer Science 2025-06-18 Luke Dramko , Claire Le Goues , Edward J. Schwartz

Novice programmers face numerous barriers while attempting to learn how to code that may deter them from pursuing a computer science degree or career in software development. In this work, we propose a tool concept to address the…

Software Engineering · Computer Science 2021-02-12 Austin Z. Henley , Julian Ball , Benjamin Klein , Aiden Rutter , Dylan Lee

Code Large Language Models (Code LLMs) are being increasingly employed in real-life applications, so evaluating them is critical. While the conventional accuracy evaluates the performance of Code LLMs on a set of individual tasks, their…

Machine Learning · Computer Science 2024-02-27 Marcus J. Min , Yangruibo Ding , Luca Buratti , Saurabh Pujar , Gail Kaiser , Suman Jana , Baishakhi Ray

Nowadays, the correct use of cryptography libraries is essential to ensure the necessary information security in different kinds of applications. A common practice in software development is the use of static application security testing…

Software Engineering · Computer Science 2022-07-08 Markus Haug Ana Cristina Franco Da Silva , Stefan Wagner