Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...

Details

Autor(en) / Beteiligte
Titel
Evaluating refactorings for disciplining #ifdef annotations: An eye tracking study with novices
Ist Teil von
  • Empirical software engineering : an international journal, 2021, Vol.26 (5), p.92-92, Article 92
Ort / Verlag
New York: Springer US
Erscheinungsjahr
2021
Link zum Volltext
Quelle
Alma/SFX Local Collection
Beschreibungen/Notizen
  • The C preprocessor is widely used in practice. Conditional compilation with #ifdef annotations allows developers to flexibly introduce variability in their programs. Developers can use disciplined annotations, entirely enclosing full statements with preprocessor directives, or undisciplined ones, enclosing only parts of the statements. Despite some debate, there is no consensus on whether a developer should use exclusively disciplined annotations. While one prior study found undisciplined annotations more time-consuming and error-prone, another study found no difference between disciplined and undisciplined annotations regarding task completion time and accuracy. In this article, we evaluate whether three fine-grained refactorings to discipline #ifdef annotations correlate with improvements in code comprehension and visual effort with an eye tracker. We conduct a controlled experiment with 64 human subjects who were majoritarily novices in the C programming language. We observed statistically significant differences for two refactorings to discipline annotations with respect to the analyzed metrics (time, fixation duration, fixation count, and regressions count) in the code regions changed by each refactoring.
Sprache
Englisch
Identifikatoren
ISSN: 1382-3256
eISSN: 1573-7616
DOI: 10.1007/s10664-021-10002-8
Titel-ID: cdi_pubmedcentral_primary_oai_pubmedcentral_nih_gov_8262123

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX