On the Refinement of Spreadsheet Smells by means of Structure Information

by   Patrick Koch, et al.

Spreadsheet users are often unaware of the risks imposed by poorly designed spreadsheets. One way to assess spreadsheet quality is to detect smells which attempt to identify parts of spreadsheets that are hard to comprehend or maintain and which are more likely to be the root source of bugs. Unfortunately, current spreadsheet smell detection techniques suffer from a number of drawbacks that lead to incorrect or redundant smell reports. For example, the same quality issue is often reported for every copy of a cell, which may overwhelm users. To deal with these issues, we propose to refine spreadsheet smells by exploiting inferred structural information for smell detection. We therefore first provide a detailed description of our static analysis approach to infer clusters and blocks of related cells. We then elaborate on how to improve existing smells by providing three example refinements of existing smells that incorporate information about cell groups and computation blocks. Furthermore, we propose three novel smell detection techniques that make use of the inferred spreadsheet structures. Empirical evaluation of the proposed techniques suggests that the refinements successfully reduce the number of incorrectly and redundantly reported smells, and novel deficits are revealed by the newly introduced smells.


page 1

page 2

page 3

page 4


On the Feasibility of Automated Issue Type Prediction

Context: Issue tracking systems are used to track and describe tasks in ...

It Takes Two to Tango: Combining Visual and Textual Information for Detecting Duplicate Video-Based Bug Reports

When a bug manifests in a user-facing application, it is likely to be ex...

Demystifying security and compatibility issues in Android Apps

Never before has any OS been so popular as Android. Existing mobile phon...

Scalable Statistical Root Cause Analysis on App Telemetry

Despite engineering workflows that aim to prevent buggy code from being ...

Methods to Evaluate Lifecycle Models for Research Data Management

Lifecycle models for research data are often abstract and simple. This c...

Where Did My Variable Go? Poking Holes in Incomplete Debug Information

The availability of debug information for optimized executables can larg...

Improved Query Reformulation for Concept Location using CodeRank and Document Structures

During software maintenance, developers usually deal with a significant ...

Please sign up or login with your details

Forgot password? Click here to reset