GGrantIndex
← Search

CRII: SHF: Quantifying the Impact of Poor Quality Lexicon on Developers' Cognitive Load.

$171,634FY2018CSENSF

Washington State University, Pullman WA

Investigators

Abstract

Software pervades everyday activities (e.g., computers, phones, games) as well as safety critical industries (e.g., transportation, medical, power): software is everywhere. When software engineers build software they use variable names and comments to embed domain concepts and to communicate with other software engineers. Thus, the quality of those names and comments, i.e., the software lexicon, is of paramount importance for understanding what the software does and how it does it. Researchers have previously identified a set of practices that lead to poor quality lexicon. The speculation is that such practices will possibly impair software understanding and might cause misunderstandings and eventually software bugs. However, there is no objective evidence to support this apparent causal relationship. Thus, this project seeks to characterize the impact of the quality of the lexicon on software understanding by measuring the change of cognitive load when software developers are trying to understand software that contains poor lexicon. The proposed research is expected to contribute in-depth understanding of the so far speculated impact of software lexicon on cognitive workload during program comprehension. A better understanding of how poor lexicon can affect software understanding will, ultimately, positively impact developers' productivity, the cost of software development and maintenance, and the quality of the software. The outcomes of this research will also have a significant positive impact on STEM education as the project will allow us to provide guidelines for students how to write software lexicon that minimizes the cognitive load during program comprehension. The overall objective of this project is to characterize the impact of the quality of the lexicon on program comprehension and on software maintenance. The central hypothesis is that a low-quality lexicon correlates both with high cognitive load of developers while understanding source code and with poor software maintenance. To this end we will: 1. Identify direct and objective measures to quantify the impact of lexicon quality on developers' cognitive load. The working hypothesis here is that physiological measures, known to relate to cognitive load, will correlate with self-reported difficulty/inability to understand the software lexicon. 2. Identify which of the practices that are documented in the literature to lead to low-quality lexicon are associated with high cognitive load. The working hypothesis is that certain types of poor lexicon, such as the inconsistency of the lexicon with the source code functionality, will have a significantly higher impact on program comprehension compared to other types of poor lexicon. 3. Identify types of poor quality lexicon that hinder program comprehension during software maintenance tasks. The investigator hypothesizes that the presence of certain types of poor lexicon will significantly increase the time needed to understand a piece of code and in some cases, it will lead to failure while performing software maintenance tasks. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →