Smelly relations: Measuring and understanding database schema quality

Tushar Sharma, Marios Fragkoulis, Stamatia Rizou, Magiel Bruntink, Diomidis Spinellis

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

24 Citations (Scopus)

Abstract

Context: Databases are an integral element of enterprise applications. Similarly to code, database schemas are also prone to smells - best practice violations. Objective: We aim to explore database schema quality, associated characteristics and their relationships with other software artifacts. Method: We present a catalog of 13 database schema smells and elicit developers' perspective through a survey. We extract embedded sql statements and identify database schema smells by employing the DbDeo tool which we developed. We analyze 2925 production-quality systems (357 industrial and 2568 well-engineered open-source projects) and empirically study quality characteristics of their database schemas. In total, we analyze 629 million lines of code containing more than 393 thousand sql statements. Results: We find that the index abuse smell occurs most frequently in database code, that the use of an orm framework doesn't immune the application from database smells, and that some database smells, such as adjacency list, are more prone to occur in industrial projects compared to open-source projects. Our co-occurrence analysis shows that whenever the clone table smell in industrial projects and the values in attribute definition smell in open-source projects get spotted, it is very likely to find other database smells in the project. Conclusion: The awareness and knowledge of database smells are crucial for developing high-quality software systems and can be enhanced by the adoption of better tools helping developers to identify database smells early.

Original languageEnglish
Title of host publicationProceedings 2018 ACM/IEEE 40th International Conference on Software Engineering
Subtitle of host publicationSoftware Engineering in Practice, ICSE-SEIP 2018
PublisherIEEE
Pages55-64
Number of pages10
ISBN (Electronic)9781450356596
DOIs
Publication statusPublished - 27 May 2018
Externally publishedYes
Event40th ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2018 - Gothenburg, Sweden
Duration: 27 May 20181 Jun 2018

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference40th ACM/IEEE International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2018
Country/TerritorySweden
CityGothenburg
Period27/05/181/06/18

Keywords

  • Antipatterns
  • Code smells
  • Database schema smells
  • Software maintenance
  • Software quality
  • Technical debt

Fingerprint

Dive into the research topics of 'Smelly relations: Measuring and understanding database schema quality'. Together they form a unique fingerprint.

Cite this