SearcharxivSearch

arXiv subjects

Robert Wallace

Publications and source records attributed to Robert Wallace.

6 recordsLinked to original sources

Semantic Neighborhood Density and Eye Gaze Time in Human Programmer Attention

This paper studies the relationship between human eye gaze time on words in source code and the Semantic Neighborhood Density (SND) of those words. Human eye gaze time is a popular way to quantify human attention such as the importance of words people read and the cognitive effort people exert. Meanwhile, SND is a measure of how similar a word is in meaning to other words in the same context. SND has a long history in Psychology research where it has been connected to eye gaze time in various domains and helps explain human cognitive factors such as confusion and quality of reading comprehension. But SND carries an unknown and potentially unique meaning in software engineering. In this paper, we compute SND for tokens in source code that people viewed in two previous eye-tracking experiments, one in C and one in Java. We conduct a model-free analysis for statistical relationships between SND and gaze time, and a model-based analysis for predictive power of SND to gaze time. We found that words with high SND tend to have higher gaze time then low SND words, especially for words that are uncommon (i.e., have low frequency). We also found SND and frequency to have a minor predictive power on gaze time, despite high levels of noise common in eye tracking data

cs.SE

Human Attention During Localization of Memory Bugs in C Programs

This paper presents a study of human visual attention during localization of memory bugs in C. Human visual attention refers to the mechanical processes by which we selectively process and prioritize information. Visual attention is important to study because it is central to what information people (who are sighted) use to solve a particular problem. Meanwhile, memory bugs are among the most common types of bugs in C programs that manifest as a variety of program faults. In this paper, we study human visual attention while people attempt to locate memory bugs in code. We recruit 21 programmers to locate between one and eight memory bugs in three C programs for 1.5-2 hours each. In total we collected observations of 31 hours of programmer effort. The bugs in our study cover memory leaks, overflows, and double frees, which are among the most common memory bugs. We analyze the task outcomes in terms of success rate and related factors, patterns of visual attention overall such as what lines and functions are read, and finally we explore differences of visual attention patterns during success versus failure cases.

cs.SE

AI-Mediated Code Comment Improvement

This paper describes an approach to improve code comments along different quality axes by rewriting those comments with customized Artificial Intelligence (AI)-based tools. We conduct an empirical study followed by grounded theory qualitative analysis to determine the quality axes to improve. Then we propose a procedure using a Large Language Model (LLM) to rewrite existing code comments along the quality axes. We implement our procedure using GPT-4o, then distil the results into a smaller model capable of being run in-house, so users can maintain data custody. We evaluate both our approach using GPT-4o and the distilled model versions. We show in an evaluation how our procedure improves code comments along the quality axes. We release all data and source code in an online repository for reproducibility.

cs.SE

Programmer Visual Attention During Context-Aware Code Summarization

Abridged: Programmer attention represents the visual focus of programmers on parts of the source code in pursuit of programming tasks. We conducted an in-depth human study with 10 Java programmers, where each programmer generated summaries for 40 methods from five large Java projects over five one-hour sessions. We used eye-tracking equipment to map the visual attention of programmers while they wrote the summaries. We also rate the quality of each summary. We found eye-gaze patterns and metrics that define common behaviors between programmer attention during context-aware code summarization. Specifically, we found that programmers need to read significantly (p<0.01) fewer words and make significantly (p<0.03) fewer revisits to words as they summarize more methods during a session, while maintaining the quality of summaries. We also found that the amount of source code a participant looks at correlates with a higher quality summary, but this trend follows a bell-shaped curve, such that after a threshold reading more source code leads to a significant (p<0.01) decrease in the quality of summaries. We also gathered insight into the type of methods in the project that provide the most contextual information for code summarization based on programmer attention. Specifically, we observed that programmers spent a majority of their time looking at methods inside the same class as the target method to be summarized. Surprisingly, we found that programmers spent significantly less time looking at methods in the call graph of the target method. We discuss how our empirical observations may aid future studies towards modeling programmer attention and improving context-aware automatic source code summarization.

cs.SE

EyeDoc: Documentation Navigation with Eye Tracking

We demonstrate EyeDoc, a tool for navigating software documentation with the use of the eyes. When programming, developers often have many windows open such as an IDE, consoles and GUIs for third-party utilities, the application under development, and a web browser for navigating documentation. Several studies have shown that the navigation among these different tasks imposes a small mental load which, over time, adds to a significant decrease in productivity. One solution to this problem is to increase "screen real estate" with larger monitors and higher resolutions, so that more information can be presented to the programmer at one time. But this solution has limits: the complexity and size of software is also increasing rapidly. In this paper, we use eye-tracking technology to build a tool for navigating documentation. All a programmer needs to do to use EyeDoc is look at the monitor containing the documentation. The tool detects when the eyes glance at different components of the documentation, and allows the programmer to navigate to those components by gazes and blinking. The programmer does not need to move his or her hands, or risk losing the context of other tasks on the desktop. We built EyeDoc as a research prototype and proof-of-concept using low-cost consumer eye-tracking hardware and our own software built as a JavaScript addition to JavaDocs. This paper describes the tool's design, use, and strategy for evaluation and future development.

cs.SE

Dynamics of liquid crystal on hexagonal lattice

Nematic liquid crystal (LC) molecules adsorbed on two dimensional materials are aligned along the crystal directions of the hexagonal lattice. It was demonstrated that short electric pulses can reorient the aligned LC molecules in the preferred armchair direction of hexagonal boron nitride (h-BN). Several states with a variety of colors were obtained by changing the direction and strength of the electric pulses. The ab initio calculations based on density functional theory was carried out to determine the favorable adsorption configurations of the LC molecules on the h-BN surface. A non-volatile display, in which pixel resolution can be determined by grains of hexagonal surface, is proposed, which can offer a pathway towards dynamic high-quality pixels with low power consumption, and could define a new paradigm for all non-volatile display applications.

cond-mat.soft