Oregon State University

Calendar

Calendars

Event Details

MS Final Examination – Atipol Asavametha


Friday, June 15, 2012 11:00 AM - 1:00 PM

Detecting bad smells in spreadsheets
Spreadsheets are a widely used end-user programming tool. Field audit found that 80-90% of spreadsheets created by end users contain textual and formula errors in spreadsheets. Such errors may have severe negative consequences for users in terms of productivity, credibility, or profits. To solve the problem of spreadsheet errors, researchers have presented manual and automatic error detection. Manual error detection is both tedious and time-consuming, while automatic error detection is limited to only finding some formula error categories such as formula reference errors. Both approaches do not provide the optimum result in error detection.

We have implemented an error detection approach by detecting bad smells in spreadsheets which includes: the large class, the lazy class, and the duplicated code. The bad smell is an indication in programming that corresponds to the real error. The bad smell detector might indicate an issue in the spreadsheet, but the indication is not exhaustive. Since the structure of rectangular regions in spreadsheets often resembles a table in the relational database, our bad smell detectors also analyze the key column and functional dependencies in each rectangular region in order to find errors in textual cells. Finally, we evaluate 13 bad smell detectors by analyzing the true positives against the false positives. The result shows that seven detectors can highlight some error categories. To exemplify, lazy class detector, which computes the number of non-key columns, can find data categories errors and accidental string errors.

Major Advisor: Christopher Scaffidi
Committee: Martin Erwig
Committee: Ron Metoyer
GCR: Yevgeniy Kovchegov 


Kelley Engineering Center (campus map)
2057
Shannon Thompson
1 541 737 7234
shannon.thompson at oregonstate.edu
Sch Elect Engr/Comp Sci
This event appears on the following calendars: