This paper presents a method to estimate the cost of mental (hand) simulation of programs. In mental simulation, human short-term memory is extensively used to recall and memorize values of variables. When the simulation reaches a variable reference, the simulation can be performed easily if the value is still remembered. However, if not, we have to backtrack the simulation until the value is obtained, which is time-consuming.
Taking the above observation into consideration, we first present a model, called virtual mental simulation model (VMSM), which exploits a queue representing short-term memory. The VMSM takes one of the abstract processes recall or backtrack, depending on whether the variable is currently stored in the queue or not. Then, applying cost functions to the VMSM, we derive four dynamic metrics reflecting the cost of mental simulation.
In our empirical study, the proposed VMSM metrics reveal that the backtrack process for non-constant variables gives a significant impact on the cost of mental simulation. Since the proposed method can be fully automated, it can provide a practical means to estimate the cost of mental simulation, which can be also used as a program comprehension measure.