The Relationship of Software Complexity and Understandability
摘要
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.