English
Related papers

Related papers: What Makes Code Hard to Understand?

200 papers

Large language models (LLMs) have demonstrated unparalleled prowess in mimicking human-like text generation and processing. Among the myriad of applications that benefit from LLMs, automated code generation is increasingly promising. The…

Software Engineering · Computer Science 2023-11-15 Lincoln Murr , Morgan Grainger , David Gao

Large pre-trained language models such as GPT-3, Codex, and Google's language model are now capable of generating code from natural language specifications of programmer intent. We view these developments with a mixture of optimism and…

Software Engineering · Computer Science 2021-12-07 Naman Jain , Skanda Vaidyanath , Arun Iyer , Nagarajan Natarajan , Suresh Parthasarathy , Sriram Rajamani , Rahul Sharma

We describe two pilot studies of code review by and for scientists. Our principal findings are that scientists are enthusiastic, but need to be shown code review in action, and that just-in-time review of small code changes is more likely…

Software Engineering · Computer Science 2014-09-09 Marian Petre , Greg Wilson

Large Language Models (LLMs) have demonstrated impressive abilities in recent years with regards to code generation and understanding. However, little work has investigated how documentation and other code properties affect an LLM's ability…

Software Engineering · Computer Science 2024-04-05 William Macke , Michael Doyle

The increasing adoption of machine learning tools has led to calls for accountability via model interpretability. But what does it mean for a machine learning model to be interpretable by humans, and how can this be assessed? We focus on…

Machine Learning · Computer Science 2019-08-06 Dylan Slack , Sorelle A. Friedler , Carlos Scheidegger , Chitradeep Dutta Roy

Probabilistic inference procedures are usually coded painstakingly from scratch, for each target model and each inference algorithm. We reduce this effort by generating inference procedures from models automatically. We make this code…

Machine Learning · Statistics 2017-07-13 Robert Zinkov , Chung-chieh Shan

Despite the success of large pre-trained language models (LMs) such as Codex, they show below-par performance on the larger and more complicated programming related questions. We show that LMs benefit from the summarized version of…

Computation and Language · Computer Science 2022-10-25 Kirby Kuznia , Swaroop Mishra , Mihir Parmar , Chitta Baral

The usage of Python idioms is popular among Python developers in a formative study of 101 performance-related questions of Python idioms on Stack Overflow, we find that developers often get confused about the performance impact of Python…

Software Engineering · Computer Science 2023-01-31 Zejun Zhang , Zhenchang Xing , Xin Xia , Xiwei Xu , Liming Zhu , Qinghua Lu

The predominant challenge in weakly supervised semantic parsing is that of spurious programs that evaluate to correct answers for the wrong reasons. Prior work uses elaborate search strategies to mitigate the prevalence of spurious…

Computation and Language · Computer Science 2021-07-14 Nitish Gupta , Sameer Singh , Matt Gardner

Supporting programming on touchscreen devices requires effective text input and editing methods. Unfortunately, the virtual keyboard can be inefficient and uses valuable screen space on already small devices. Recent advances in stylus input…

Human-Computer Interaction · Computer Science 2017-12-07 Qiyu Zhi , Ronald Metoyer

Although the halting problem is undecidable, imperfect testers that fail on some instances are possible. Such instances are called hard for the tester. One variant of imperfect testers replies "I don't know" on hard instances, another…

Logic in Computer Science · Computer Science 2014-12-01 Antti Valmari

Python has become a popular programming language because of its excellent programmability. Many modern software packages utilize Python for high-level algorithm design and depend on native libraries written in C/C++/Fortran for efficient…

Programming Languages · Computer Science 2021-07-02 Jialiang Tan , Yu Chen , Zhenming Liu , Bin Ren , Shuaiwen Leon Song , Xipeng Shen , Xu Liu

Although there are many automated software testing suites, they usually focus on unit, system, and interface testing. However, especially software updates such as new security features have the potential to diminish user experience. In this…

Software Engineering · Computer Science 2021-04-09 Chidera Biringa , Gokhan Kul

Functional languages with strong static type systems have beneficial properties to help ensure program correctness and reliability. Surprisingly, their practical significance in applications is low relative to other languages lacking in…

Programming Languages · Computer Science 2016-12-05 Johannes Emerich

The readability of source code is key for understanding and maintaining software systems and tests. Several studies investigate the readability of source code, but there is limited research on the readability of test code and related…

Software Engineering · Computer Science 2024-03-26 Dietmar Winkler , Pirmin Urbanke , Rudolf Ramler

The rapid adoption of AI coding agents is fundamentally shifting software developers' roles from code authors to code reviewers. While developers spend a significant portion of their time reading and comprehending code, the linguistic…

Test flakiness is a problem that affects testing and processes that rely on it. Several factors cause or influence the flakiness of test outcomes. Test execution order, randomness and concurrency are some of the more common and well-studied…

Software Engineering · Computer Science 2023-03-20 Shawn Rasheed , Jens Dietrich , Amjed Tahir

Programs are a kind of communication to both computers and people, hence as students are trained to write programs they need to learn to write well-designed, readable code rather than code that simply functions correctly. The difficulty in…

Computers and Society · Computer Science 2022-11-08 J. Walker Orr

Extensive recent media focus has been directed towards the dark side of intelligent systems, how algorithms can influence society negatively. Often, transparency is proposed as a solution or step in the right direction. Unfortunately,…

Human-Computer Interaction · Computer Science 2018-12-11 Aaron Springer , Steve Whittaker

Code completion is widely used by software developers to provide coding suggestions given a partially written code snippet. Apart from the traditional code completion methods, which only support single token completion at minimal positions,…

Software Engineering · Computer Science 2021-06-29 Jingxuan Li , Rui Huang , Wei Li , Kai Yao , Weiguo Tan