Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Human factors in programming and software development
ACM Computing Surveys (CSUR)
Expert Maintainers' Strategies and Needs when Understanding Software: A Case Study Approach
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Evaluating affective interfaces: innovative approaches
CHI '05 Extended Abstracts on Human Factors in Computing Systems
Proceedings of the 27th international conference on Software engineering
Spatial Complexity Metrics: An Investigation of Utility
IEEE Transactions on Software Engineering
A Comparative Study of Three Program Exploration Tools
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
IEEE Transactions on Software Engineering
International Journal of Green Computing
Hi-index | 0.00 |
Conducting controlled experiments about programming activities often requires the use of multiple tasks of similar difficulty. In previously reported work about a controlled experiment investigating software exploration tools, we tried to select two change tasks of equivalent difficulty to be performed on a medium-sized code base. Despite careful effort in the selection and confirmation from our pilot subjects finding the two tasks to be of equivalent difficulty, the data from the experiment suggest the subjects found one of the tasks more difficult than the other. In this paper, we report on early work to create a metric to estimate the cognitive difficulty for a software change task. Such a metric would help in comparing between studies of different tools, and in designing future studies. Our particular approach uses a graph-theoretic statistic to measure the complexity of the task solution by the connectedness of the solution elements. The metric predicts the perceived difficulty for the tasks of our experiment, but fails to predict the perceived difficulty for other tasks to a small program. We discuss these differences and suggest future approaches.