i-nth logo

Authors

Roland Mittermeir & Markus Clermont

Abstract

Spreadsheets are a common tool in end-user programming. But even while important decisions are based on spreadsheet computations, spreadsheets are poorly documented software and the differences between simple on-shot computations and large, long-living sheets are not well understood.

Like other software, production spreadsheets are subject to repeated maintenance cycles. Consequently, as with conventional software, short maintenance cycles and poor documentation tend to decrease their quality.

We introduce an approach to help maintainers understand the structure of large spreadsheets as well as to zoom into certain parts of the spreadsheet. To cope with large sheets, our approach features two levels of abstraction: logical areas and semantic classes. These abstractions are based on different degrees of relatedness of cells according to the formulas they contain.

Sample

Visualization of semantic classes and data dependencies
Visualization of semantic classes and data dependencies

To visualize the example spreadsheet, a graph with 8 nodes and 11 edges is generated.

If the complexity of the rows increases by adding more columns with distinct operations the number of logical areas will increase, and thus the number of nodes in the visualization will grow.

Publication

2002, Ninth Working Conference on Reverse Engineering, October, pages 221-232

Full article

Finding high-level structures in spreadsheet programs