Combining spreadsheet smells for improved fault prediction

Patrick Koch, Konstantin Schekotihin, Dietmar Jannach, Birgit Hofer, Franz Wotawa, Thomas Schmitz

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Spreadsheets are commonly used in organizations as a programming tool for business-related calculations and decision making. Since faults in spreadsheets can have severe business impacts, a number of approaches from general software engineering have been applied to spreadsheets in recent years, among them the concept of code smells. Smells can in particular be used for the task of fault prediction. An analysis of existing spreadsheet smells, however, revealed that the predictive power of individual smells can be limited. In this work we therefore propose a machine learning based approach which combines the predictions of individual smells by using an AdaBoost ensemble classifier. Experiments on two public datasets containing real-world spreadsheet faults show significant improvements in terms of fault prediction accuracy.

Original languageEnglish
Title of host publicationProceedings 2018 ACM/IEEE 40th International Conference on Software Engineering
Subtitle of host publicationNew Ideas and Emerging Results, ICSE-NIER 2018
PublisherIEEE Computer Society, 1998
Pages25-28
Number of pages4
ISBN (Electronic)9781450356626
DOIs
Publication statusPublished - 27 May 2018
Event40th ACM/IEEE International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER 2018 - Gothenburg, Sweden
Duration: 30 May 20181 Jun 2018

Conference

Conference40th ACM/IEEE International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER 2018
CountrySweden
CityGothenburg
Period30/05/181/06/18

Keywords

  • Fault Prediction
  • Spreadsheet QA
  • Spreadsheet Smells

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Combining spreadsheet smells for improved fault prediction'. Together they form a unique fingerprint.

Cite this