English
Related papers

Related papers: Do Developers Read Type Information? An Eye-Tracki…

200 papers

Developers often extract methods to improve readability, understanding, and reuse, while inlining keeps logic in one block. Prior work based on static metrics has not shown clear differences between these practices, and the human side of…

Context: Software systems are in continuous evolution through source code changes to fixing bugs, adding new functionalities and improving the internal architecture. All these practices are recorded in the version history, which can be…

Software Engineering · Computer Science 2020-01-17 Leandro Ungari Cayres , Bruno Santos de Lima , Rogério Eduardo Garcia

Annotation is an effective reading strategy people often undertake while interacting with digital text. It involves highlighting pieces of text and making notes about them. Annotating while reading in a desktop environment is considered…

Human-Computer Interaction · Computer Science 2021-09-15 Anam Ahmad Khan , Joshua Newn , Ryan Kelly , Namrata Srivastava , James Bailey , Eduardo Velloso

Static bug detection tools help developers detect code problems. However, it is known that they remain underutilized due to various reasons. Recent advances to incorporate static bug detectors in modern software development workflows can…

Software Engineering · Computer Science 2021-03-26 Junjie Li

Existing leading code comment generation approaches with the structure-to-sequence framework ignores the type information of the interpretation of the code, e.g., operator, string, etc. However, introducing the type information into the…

Computation and Language · Computer Science 2020-05-07 Ruichu Cai , Zhihao Liang , Boyan Xu , Zijian Li , Yuexing Hao , Yao Chen

Programmers regularly use strings to encode many types of data, such as Unix file paths, URLs, and email addresses, that are conceptually different. However, existing mainstream programming languages use a unified string type to represent…

Software Engineering · Computer Science 2025-01-22 Fengmin Zhu , Andreas Zeller

Polymorphic types are an important feature in most strongly typed programming languages. They allow functions to be written in a way that can be used with different data types, while still enforcing the relationship and constraints between…

Programming Languages · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey

This paper presents a case study to examine the affinity of the code review process among young developers in an academic setting. Code review is indispensable considering the positive outcomes it generates. However, it is not an individual…

Computers and Society · Computer Science 2020-04-21 Victor Rivera , Hamna Aslam , Alexandr Naumchev , Daniel de Carvalho , Mansur Khazeev , Manuel Mazzara

Programmers often use an iterative process of hypothesis generation ("perhaps this function is called twice?") and hypothesis testing ("let's count how many times this breakpoint fires") to understand the behavior of unfamiliar or…

Programming Languages · Computer Science 2026-04-14 Shardul Chiplunkar , Clément Pit-Claudel

Eye tracking tools are used in software engineering research to study various software development activities. However, a major limitation of these tools is their inability to track gaze data for activities that involve source code editing.…

Software Engineering · Computer Science 2021-06-22 Sarah Fakhoury , Devjeet Roy , Harry Pines , Tyler Cleveland , Cole Peterson , Venera Arnaoudova , Bonita Sharif , Jonathan Maletic

In this paper we present the design and implementation of Flow, a fast and precise type checker for JavaScript that is used by thousands of developers on millions of lines of code at Facebook every day. Flow uses sophisticated type…

Programming Languages · Computer Science 2017-08-31 Avik Chaudhuri , Panagiotis Vekris , Sam Goldman , Marshall Roch , Gabriel Levi

Online coding environments can help support computing students gain programming practice at their own pace. Especially informative feedback can be beneficial during such self-guided, independent study phases. This research aims at the…

Human-Computer Interaction · Computer Science 2022-11-10 Natalie Kiesler

Losing track of reading progress during line switching can be frustrating. Eye gaze tracking technology offers a potential solution by highlighting read paragraphs, aiding users in avoiding wrong line switches. However, the gap between gaze…

Human-Computer Interaction · Computer Science 2024-12-16 Sikai Yang , Gang Yan , Wan Du

Static analysis tools come in many forms andconfigurations, allowing them to handle various tasks in a (secure) development process: code style linting, bug/vulnerability detection, verification, etc., and adapt to the specific requirements…

This paper proposes an open source visual analytics tool consisting of several views and perspectives on eye movement data collected during code reading tasks when writing computer programs. Hence the focus of this work is on code and…

Human-Computer Interaction · Computer Science 2022-08-02 Ayush Kumar , Ashish Kumar , Aakanksha Prasad , Michael Burch , Shenghui Cheng , Klaus Mueller

Creative coding is a rapidly expanding domain for both artistic expression and computational education. Numerous libraries and IDEs support creative coding, however there has been little consideration of how the environments themselves…

Human-Computer Interaction · Computer Science 2023-02-01 Andrew McNutt , Anton Outkine , Ravi Chugh

Data science pipelines to train and evaluate models with machine learning may contain bugs just like any other code. Leakage between training and test data can lead to overestimating the model's accuracy during offline evaluations, possibly…

Software Engineering · Computer Science 2022-09-08 Chenyang Yang , Rachel A Brower-Sinning , Grace A. Lewis , Christian Kästner

In recent years, progress in NLU has been driven by benchmarks. These benchmarks are typically collected by crowdsourcing, where annotators write examples based on annotation instructions crafted by dataset creators. In this work, we…

Computation and Language · Computer Science 2024-03-21 Mihir Parmar , Swaroop Mishra , Mor Geva , Chitta Baral

This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of…

Software Engineering · Computer Science 2017-10-03 Tim Blok , Ansgar Fehnker

Gradual typing has gained popularity as a design choice for integrating static and dynamic typing within a single language. Several practical languages have adopted gradual typing to offer programmers the flexibility to annotate their…

Programming Languages · Computer Science 2026-03-09 Senxi Li , Feng Dai , Tetsuro Yamazaki , Shigeru Chiba