i-nth logo

Authors

Wensheng Dou, Shing-Chi Cheung, & Jun Wei

Abstract

Spreadsheets are widely used by end users for numerical computation in their business. Spreadsheet cells whose computation is subject to the same semantics are often clustered in a row or column. When a spreadsheet evolves, these cell clusters can degenerate due to ad hoc modifications or undisciplined copy-and-pastes. Such degenerated clusters no longer keep cells prescribing the same computational semantics, and are said to exhibit ambiguous computation smells.

Our empirical study finds that such smells are common and likely harmful. We propose AmCheck, a novel technique that automatically detects and repairs ambiguous computation smells by recovering their intended computational semantics. A case study using AmCheck suggests that it is useful for discovering and repairing real spreadsheet problems.

Sample

AmCheck example
AmCheck example

AmCheck analyzes a spreadsheet for smells and generates comments explaining any detected issues. In this example, given the pattern of formulae, AmCheck suggests a repair for cell D4.

Publication

2014, ICSE, 36th International Conference on Software Engineering, June, pages 848-858

Full article

Is spreadsheet ambiguity harmful? Detecting and repairing spreadsheet smells due to ambiguous computation