Jove
Visualize
Contact Us
JoVE
x logofacebook logolinkedin logoyoutube logo
ABOUT JoVE
OverviewLeadershipBlogJoVE Help Center
AUTHORS
Publishing ProcessEditorial BoardScope & PoliciesPeer ReviewFAQSubmit
LIBRARIANS
TestimonialsSubscriptionsAccessResourcesLibrary Advisory BoardFAQ
RESEARCH
JoVE JournalMethods CollectionsJoVE Encyclopedia of ExperimentsArchive
EDUCATION
JoVE CoreJoVE BusinessJoVE Science EducationJoVE Lab ManualFaculty Resource CenterFaculty Site
Terms & Conditions of Use
Privacy Policy
Policies

Related Concept Videos

You might also read

Related Articles

Articles linked to this work by shared authors, journal, and citation graph.

Sort by
Same author

Fixation-related potentials reveal that confusing program code elicits a late frontal positivity.

Scientific reports·2026
Same author

Neutral sphingomyelinase inhibition promotes local and network degeneration in vitro and in vivo.

Cell communication and signaling : CCS·2023
Same author

Intralesional amphotericin B in a cat with cutaneous protothecosis.

Veterinary dermatology·2023
Same author

Seeing confusion through a new lens: on the impact of atoms of confusion on novices' code comprehension.

Empirical software engineering·2023
Same author

Context-Dependent Effects of the Ketogenic Diet on Retinal Ganglion Cell Survival and Axonal Regeneration After Optic Nerve Injury.

Journal of ocular pharmacology and therapeutics : the official journal of the Association for Ocular Pharmacology and Therapeutics·2023
Same author

Estimating Carbon Dioxide Emissions and Direct Power Consumption of Linear Accelerator-Based External Beam Radiation Therapy.

Advances in radiation oncology·2023

Related Experiment Video

Updated: Oct 29, 2025

Eye Tracking During Visually Situated Language Comprehension: Flexibility and Limitations in Uncovering Visual Context Effects
07:36

Eye Tracking During Visually Situated Language Comprehension: Flexibility and Limitations in Uncovering Visual Context Effects

Published on: November 30, 2018

16.0K

Evaluating refactorings for disciplining #ifdef annotations: An eye tracking study with novices.

José Aldo Silva da Costa1, Rohit Gheyi1, Márcio Ribeiro2

  • 1Federal University of Campina Grande, Campina Grande, Brazil.

Empirical Software Engineering
|July 12, 2021
PubMed
Summary

Refactoring C preprocessor directives (#ifdef annotations) can improve code comprehension. Disciplining these annotations led to significant improvements in task completion time and reduced visual effort for novice programmers.

Keywords:
#ifdefsCode comprehensionDisciplined annotationsEye trackingRefactoringUndisciplined annotations

More Related Videos

Eye-tracking Technology and Data-mining Techniques used for a Behavioral Analysis of Adults engaged in Learning Processes
10:43

Eye-tracking Technology and Data-mining Techniques used for a Behavioral Analysis of Adults engaged in Learning Processes

Published on: June 10, 2021

5.6K
Eye Tracking During A Complex Aviation Task For Insights Into Information Processing
07:48

Eye Tracking During A Complex Aviation Task For Insights Into Information Processing

Published on: April 4, 2025

750

Related Experiment Videos

Last Updated: Oct 29, 2025

Eye Tracking During Visually Situated Language Comprehension: Flexibility and Limitations in Uncovering Visual Context Effects
07:36

Eye Tracking During Visually Situated Language Comprehension: Flexibility and Limitations in Uncovering Visual Context Effects

Published on: November 30, 2018

16.0K
Eye-tracking Technology and Data-mining Techniques used for a Behavioral Analysis of Adults engaged in Learning Processes
10:43

Eye-tracking Technology and Data-mining Techniques used for a Behavioral Analysis of Adults engaged in Learning Processes

Published on: June 10, 2021

5.6K
Eye Tracking During A Complex Aviation Task For Insights Into Information Processing
07:48

Eye Tracking During A Complex Aviation Task For Insights Into Information Processing

Published on: April 4, 2025

750

Area of Science:

  • Software Engineering
  • Human-Computer Interaction
  • Programming Language Comprehension

Background:

  • Conditional compilation using C preprocessor directives (#ifdef annotations) is common for program variability.
  • The use of disciplined (enclosing full statements) versus undisciplined (enclosing partial statements) annotations is debated.
  • Previous research shows conflicting results on the impact of annotation discipline on task completion time and accuracy.

Purpose of the Study:

  • To evaluate if fine-grained refactorings to discipline #ifdef annotations improve code comprehension.
  • To assess the impact of disciplined #ifdef annotations on visual effort using eye-tracking metrics.
  • To determine the correlation between refactoring #ifdef annotations and improvements in comprehension and visual effort.

Main Methods:

  • A controlled experiment was conducted with 64 human subjects, predominantly novices in C programming.
  • Three fine-grained refactorings aimed at disciplining #ifdef annotations were applied.
  • Eye-tracking metrics (time, fixation duration, fixation count, regressions count) were analyzed in code regions affected by refactorings.

Main Results:

  • Statistically significant differences were observed for two refactorings that disciplined #ifdef annotations.
  • Improvements were noted in metrics related to code comprehension and visual effort.
  • The study provides evidence for the benefits of disciplined preprocessor directives in specific code regions.

Conclusions:

  • Disciplining #ifdef annotations through fine-grained refactorings can enhance code comprehension and reduce visual effort.
  • Novice C programmers benefit from more disciplined preprocessor directive usage.
  • The findings suggest that specific refactoring techniques can positively impact software maintainability and developer productivity.