17,526 research outputs found

    The effects of change decomposition on code review -- a controlled experiment

    Get PDF
    Background: Code review is a cognitively demanding and time-consuming process. Previous qualitative studies hinted at how decomposing change sets into multiple yet internally coherent ones would improve the reviewing process. So far, literature provided no quantitative analysis of this hypothesis. Aims: (1) Quantitatively measure the effects of change decomposition on the outcome of code review (in terms of number of found defects, wrongly reported issues, suggested improvements, time, and understanding); (2) Qualitatively analyze how subjects approach the review and navigate the code, building knowledge and addressing existing issues, in large vs. decomposed changes. Method: Controlled experiment using the pull-based development model involving 28 software developers among professionals and graduate students. Results: Change decomposition leads to fewer wrongly reported issues, influences how subjects approach and conduct the review activity (by increasing context-seeking), yet impacts neither understanding the change rationale nor the number of found defects. Conclusions: Change decomposition reduces the noise for subsequent data analyses but also significantly supports the tasks of the developers in charge of reviewing the changes. As such, commits belonging to different concepts should be separated, adopting this as a best practice in software engineering

    An eye-tracking study on the role of scan time in finding source code defects

    Full text link

    Eye movements in code reading:relaxing the linear order

    Get PDF
    Abstract—Code reading is an important skill in programming. Inspired by the linearity that people exhibit while natural lan-guage text reading, we designed local and global gaze-based mea-sures to characterize linearity (left-to-right and top-to-bottom) in reading source code. Unlike natural language text, source code is executable and requires a specific reading approach. To validate these measures, we compared the eye movements of novice and expert programmers who were asked to read and comprehend short snippets of natural language text and Java programs. Our results show that novices read source code less linearly than natural language text. Moreover, experts read code less linearly than novices. These findings indicate that there are specific differences between reading natural language and source code, and suggest that non-linear reading skills increase with expertise. We discuss the implications for practitioners and educators. I

    Tracking Eye Movements over Source Code

    Get PDF
    Studies on software developers’ behavior guide the development of tools that facilitate source code reading and reviewing. Eye trackers have allowed researchers to study this behavior in more detail–to pinpoint where the developer is looking, or even to detect which source code element the developer is viewing. However, systems that map gaze to characteristics as specific as source code elements are often expensive, either because of the cost of compatible eye trackers or because of the cost of the required software. This project aims to use existing technology to create a lower-cost system that provides information on the source code elements that the developer views

    Identifying Code Reading Strategies in Debugging using STA with a Tolerance Algorithm

    Get PDF
    The purpose of this study was to identify the common code reading strategies of the high and low performing students engaged in a debugging task. Using Scanpath Trend Analysis (STA) with a tolerance on eye tracking data, common scanpaths of high and low performing students were generated. The common scanpaths revealed differences in the code reading patterns and code reading strategies of high and low performing students. High performing students follow a bottom-up code reading strategy when debugging complex programs with logical and semantic errors. A top-down code reading strategy is employed when debugging programs with simple control structures, few lines of code, and simple error types. These results imply that high performing students use flexible debugging strategies based on the program structure. The generated common scanpaths of the low performing students, on the other hand, showed erratic code reading patterns, implying that no obvious code reading strategy was applied. The identified code reading strategies of the high performing students could be explicitly taught to low performing students to help improve their debugging performance

    Choreographic and Somatic Approaches for the Development of Expressive Robotic Systems

    Full text link
    As robotic systems are moved out of factory work cells into human-facing environments questions of choreography become central to their design, placement, and application. With a human viewer or counterpart present, a system will automatically be interpreted within context, style of movement, and form factor by human beings as animate elements of their environment. The interpretation by this human counterpart is critical to the success of the system's integration: knobs on the system need to make sense to a human counterpart; an artificial agent should have a way of notifying a human counterpart of a change in system state, possibly through motion profiles; and the motion of a human counterpart may have important contextual clues for task completion. Thus, professional choreographers, dance practitioners, and movement analysts are critical to research in robotics. They have design methods for movement that align with human audience perception, can identify simplified features of movement for human-robot interaction goals, and have detailed knowledge of the capacity of human movement. This article provides approaches employed by one research lab, specific impacts on technical and artistic projects within, and principles that may guide future such work. The background section reports on choreography, somatic perspectives, improvisation, the Laban/Bartenieff Movement System, and robotics. From this context methods including embodied exercises, writing prompts, and community building activities have been developed to facilitate interdisciplinary research. The results of this work is presented as an overview of a smattering of projects in areas like high-level motion planning, software development for rapid prototyping of movement, artistic output, and user studies that help understand how people interpret movement. Finally, guiding principles for other groups to adopt are posited.Comment: Under review at MDPI Arts Special Issue "The Machine as Artist (for the 21st Century)" http://www.mdpi.com/journal/arts/special_issues/Machine_Artis

    The effect of experience and of dots\u2019 density and duration on the detection of coherent motion in dogs

    Get PDF
    Knowledge about the mechanisms underlying canine vision is far from being exhaustive, especially that concerning post- retinal elaboration. One aspect that has received little attention is motion perception, and in spite of the common belief that dogs are extremely apt at detecting moving stimuli, there is no scientific support for such an assumption. In fact, we recently showed that dogs have higher thresholds than humans for coherent motion detection (Kanizsar et al. in Sci Rep UK 7:11259, 2017). This term refers to the ability of the visual system to perceive several units moving in the same direction, as one coherently moving global unit. Coherent motion perception is commonly investigated using random dot displays, containing variable proportions of coherently moving dots. Here, we investigated the relative contribution of local and global integra- tion mechanisms for coherent motion perception, and changes in detection thresholds as a result of repeated exposure to the experimental stimuli. Dogs who had been involved in the previous study were given a conditioned discrimination task, in which we systematically manipulated dot density and duration and, eventually, re-assessed our subjects\u2019 threshold after extensive exposure to the stimuli. Decreasing dot duration impacted on dogs\u2019 accuracy in detecting coherent motion only at very low duration values, revealing the efficacy of local integration mechanisms. Density impacted on dogs\u2019 accuracy in a linear fashion, indicating less efficient global integration. There was limited evidence of improvement in the re-assessment but, with an average threshold at re-assessment of 29%, dogs\u2019 ability to detect coherent motion remains much poorer than that of humans
    • …
    corecore