English
Related papers

Related papers: How Do Programmers Express High-Level Concepts usi…

200 papers

Pluggable type systems allow programmers to extend the type system of a programming language to enforce semantic properties defined by the programmer. Pluggable type systems are difficult to deploy in legacy codebases because they require…

Software Engineering · Computer Science 2025-10-06 Kazi Amanul Islam Siddiqui , Martin Kellogg

While a large number of pre-trained models of source code have been successfully developed and applied to a variety of software engineering (SE) tasks in recent years, our understanding of these pre-trained models is arguably fairly…

Software Engineering · Computer Science 2023-02-09 Changan Niu , Chuanyi Li , Vincent Ng , Dongxiao Chen , Jidong Ge , Bin Luo

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

As programmers write code, they often edit and retry multiple times, creating rich "interaction traces" that reveal how they approach coding tasks and provide clues about their level of skill development. For novice programmers in…

Machine Learning · Computer Science 2026-04-16 Alexis Ross , Megha Srivastava , Jeremiah Blanchard , Jacob Andreas

Background: Good API documentation facilities the development process, improving productivity and quality. While the topic of API documentation quality has been of interest for the last two decades, there have been few studies to map the…

Software Engineering · Computer Science 2019-08-01 Alex Cummaudo , Rajesh Vasa , John Grundy

Text in many domains involves a significant amount of named entities. Predict- ing the entity names is often challenging for a language model as they appear less frequent on the training corpus. In this paper, we propose a novel and…

Computation and Language · Computer Science 2018-05-15 Md Rizwan Parvez , Saikat Chakraborty , Baishakhi Ray , Kai-Wei Chang

Program code contains functions, variables, and data structures that are represented by names. To promote human understanding, these names should describe the role and use of the code elements they represent. But the names given by…

Software Engineering · Computer Science 2022-09-08 Moshe Munk , Dror G. Feitelson

Software developers use issue trackers (e.g. Jira) to manage defects, bugs, tasks, change requests, etc. In this paper we explore (a) how architectural knowledge concepts (e.g. architectural component behavior, contextual constraints) are…

Software Engineering · Computer Science 2021-06-22 Mohamed Soliman , Matthias Galster , Paris Avgeriou

Abstract syntax tree (AST) mapping algorithms are widely used to analyze changes in source code. Despite the foundational role of AST mapping algorithms, little effort has been made to evaluate the accuracy of AST mapping algorithms, i.e.,…

Software Engineering · Computer Science 2021-03-02 Yuanrui Fan , Xin Xia , David Lo , Ahmed E. Hassan , Yuan Wang , Shanping Li

Developing and maintaining software commonly requires (1) adding new data type constructors to existing applications, but also (2) adding new functions that work on existing data. Most programming languages have native support for defining…

Programming Languages · Computer Science 2023-09-27 Cas van der Rest , Casper Bach Poulsen

A key distinguishing feature of conversational recommender systems over traditional recommender systems is their ability to elicit user preferences using natural language. Currently, the predominant approach to preference elicitation is to…

Information Retrieval · Computer Science 2025-04-09 Ivica Kostric , Krisztian Balog , Filip Radlinski

Most Java applications, including web based ones, follow the 3-tier architecture. Although Java provides standard tools for tier-to-tier interfaces, the separation of the tiers is usually not perfect. E.g. the database interface, JDBC,…

Software Engineering · Computer Science 2014-05-09 Victor Sadikov , Walter Pidkameny

Software projects rely on what we call project archetypes, i.e., pre-existing mental images of how projects work. They guide distribution of responsibilities, planning, or expectations. However, with the technological progress, project…

Software Engineering · Computer Science 2024-08-09 Mateusz Dolata , Kevin Crowston , Gerhard Schwabe

A type description is a succinct noun compound which helps human and machines to quickly grasp the informative and distinctive information of an entity. Entities in most knowledge graphs (KGs) still lack such descriptions, thus calling for…

Computation and Language · Computer Science 2019-10-09 Jiangjie Chen , Ao Wang , Haiyun Jiang , Suo Feng , Chenguang Li , Yanghua Xiao

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

Human written source code in imperative programming languages exhibits typical patterns for variable use such as flags, loop iterators, counters, indices, bitvectors etc. Although it is widely understood by practitioners that these variable…

Programming Languages · Computer Science 2013-06-17 Yulia Demyanova , Helmut Veith , Florian Zuleger

When designing a new API for a large project, developers need to make smart design choices so that their code base can grow sustainably. To ensure that new API components are well designed, developers can learn from existing API components.…

Software Engineering · Computer Science 2023-07-20 Sae Young Moon , Gregor Kerr , Fran Silavong , Sean Moran

In an attempt to gather a deeper understanding of how convolutional neural networks (CNNs) reason about human-understandable concepts, we present a method to infer labeled concept data from hidden layer activations and interpret the…

Machine Learning · Computer Science 2019-06-18 Conner Chyung , Michael Tsang , Yan Liu

People react differently to inspirations shown to them during brainstorming. Existing research on large-scale ideation systems has investigated this phenomenon through aspects of timing, inspiration similarity and inspiration integration.…

Human-Computer Interaction · Computer Science 2020-02-24 Maximilian Mackeprang , Kim Kern , Thomas Hadler , Claudia Müller-Birn

Despite their ability to aid developers in detecting potential defects early in the software development life cycle, static analysis tools often suffer from precision issues (i.e., high false positive rates of reported alarms). To improve…

Software Engineering · Computer Science 2024-01-22 Yuwei Zhang , Ying Xing , Ge Li , Zhi Jin