i-nth logo

Authors

Liang Xu, Wensheng Dou, Chushu Gao, Jie Wang, Jun Wei, Hua Zhong, & Tao Huang

Abstract

Version information plays an important role in spreadsheet understanding, maintaining and quality improving. However, end users rarely use version control tools to document spreadsheets' version information. Thus, the spreadsheets' version information is missing, and different versions of a spreadsheet coexist as individual and similar spreadsheets.

Existing approaches try to recover spreadsheet version information through clustering these similar spreadsheets based on spreadsheet filenames or related email conversation. However, the applicability and accuracy of existing clustering approaches are limited due to the necessary information (e.g., filenames and email conversation) is usually missing.

We inspected the versioned spreadsheets in VEnron, which is extracted from the Enron Corporation. In VEnron, the different versions of a spreadsheet are clustered into an evolution group.

We observed that the versioned spreadsheets in each evolution group exhibit certain common features (e.g., similar table headers and worksheet names). Based on this observation, we proposed an automatic clustering algorithm, SpreadCluster.

SpreadCluster learns the criteria of features from the versioned spreadsheets in VEnron, and then automatically clusters spreadsheets with the similar features into the same evolution group.

We applied SpreadCluster on all spreadsheets in the Enron corpus. The evaluation result shows that SpreadCluster could cluster spreadsheets with higher precision (78.5% vs. 59.8%) and recall rate (70.7% vs. 48.7%) than the filename-based approach used by VEnron.

Based on the clustering result by SpreadCluster, we further created a new versioned spreadsheet corpus VEnron2, which is much bigger than VEnron (12,254 vs. 7,294 spreadsheets).

We also applied SpreadCluster on the other two spreadsheet corpora FUSE and EUSES. The results show that SpreadCluster can cluster the versioned spreadsheets in these two corpora with high precision (91.0% and 79.8%).

Sample

Example of three real-world spreadsheets
Example of three real-world spreadsheets

These three real-world spreadsheets were extracted from two evolution groups in VEnron. They can be considered part of one evolution group.

Figure (a) is for June, and Figure (b) is an update for July. They perform the same calculation, except for the constants that are used in formulas.

We conclude that the constants (30 and 31) in the formulas are the numbers of the days in June and July. When the user created the spreadsheet for July by reusing that in June, the formula in cell E15 was not changed. This appears to be an error.

Publication

2017, IEEE/ACM Working Conference on Mining Software Repositories (MSR), May

Full article

SpreadCluster: Recovering versioned spreadsheets through similarity-based clustering