Since Rubey and Hartwick formally characterized software complexity in 1968, nine theoretical complexity frameworks have been proposed. Surprisingly, there have been no empirical studies verifying these frameworks. The principal aim of this study is to measure the relationship between software complexity, the time it takes individuals to understand code, and the accuracy in which individuals can correctly predict the output of code. This will illuminate which, if any, of the complexity frameworks capture the property they were designed to represent. The main challenge was to generate code samples differing only in a single complexity measure. This study represents an experimental study involving 368 participants relating complexity metrics to understandability with a group of programmers with varying levels of experience. From this study, it was discovered that experience has little impact on understandability rates, experience has a large impact on error rates, and complexity has a negative correlation with both understandability rates and error rates.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

The Relationship of Software Complexity and Understandability

  • James N. Helfrich,
  • Jackson T. Clarke,
  • Kuan Yu Chen

摘要

Since Rubey and Hartwick formally characterized software complexity in 1968, nine theoretical complexity frameworks have been proposed. Surprisingly, there have been no empirical studies verifying these frameworks. The principal aim of this study is to measure the relationship between software complexity, the time it takes individuals to understand code, and the accuracy in which individuals can correctly predict the output of code. This will illuminate which, if any, of the complexity frameworks capture the property they were designed to represent. The main challenge was to generate code samples differing only in a single complexity measure. This study represents an experimental study involving 368 participants relating complexity metrics to understandability with a group of programmers with varying levels of experience. From this study, it was discovered that experience has little impact on understandability rates, experience has a large impact on error rates, and complexity has a negative correlation with both understandability rates and error rates.