Issue No. 03 - March (2017 vol. 43)
Wensheng Dou , State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China
Chang Xu , State Key Laboratory for Novel Software Technology, Department of Computer Science and Technology, Nanjing University, Nanjing, Jiangsu, China
S.C. Cheung , Department of Computer Science and Engineering, Hong Kong University of Science and Technology, Kowloon, Hong Kong, China
Jun Wei , State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China
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 as a cell array. When a spreadsheet evolves, the cells in a cell array can degenerate due to ad hoc modifications. Such degenerated cell arrays no longer keep cells prescribing the same computational semantics, and are said to exhibit ambiguous computation smells. We propose CACheck, a novel technique that automatically detects and repairs smelly cell arrays by recovering their intended computational semantics. Our empirical study on the EUSES and Enron corpora finds that such smelly cell arrays are common. Our study also suggests that CACheck is useful for detecting and repairing real spreadsheet problems caused by smelly cell arrays. Compared with our previous work AmCheck, CACheck detects smelly cell arrays with higher precision and recall rate.
Semantics, Maintenance engineering, Software, Computer science, Nonhomogeneous media, Electronic mail, Business
W. Dou, C. Xu, S. Cheung and J. Wei, "CACheck: Detecting and Repairing Cell Arrays in Spreadsheets," in IEEE Transactions on Software Engineering, vol. 43, no. 3, pp. 226-251, 2017.