3 years ago

Identifying and Managing Technical Debt in Database Normalization Using Machine Learning and Trade-off Analysis.

Mashel Albarak, Rami Bahsoon, Muna Alrazgan

Technical debt is a metaphor that describes the long term effects of shortcuts taken in software development activities to achieve near term goals. In this study, we explore a new context of technical debt that relates to database normalization design decisions. We posit that ill normalized databases can have long term ramifications on data quality, performance degradation and maintainability costs over time, just like debts accumulate interest. Conversely, conventional database approaches would suggest normalizing weakly normalized tables, this can be a costly process in terms of effort and expertise it requires for large software systems. As studies have shown that the fourth normal form is often regarded as the ideal form in database design, we claim that database normalization debts are likely to be incurred for tables below this form. We refer to normalization debt item as any table in the database below the fourth normal form.

We propose a framework for identifying normalization debt. Our framework makes use of association rule mining to discover functional dependencies between attributes in a table, which will help determine the current normal form of that table and identify debt tables. To manage such debts, we propose a trade off analysis method to prioritize tables that are candidate for normalization. The trade off is between the rework cost and the debt effect on the quality of the system as the metaphoric interest. To evaluate our method, we use a case study from Microsoft, AdventureWorks. The results show that our method can reduce the cost and effort of normalization, while improving the database design.

Publisher URL: http://arxiv.org/abs/1711.06109

DOI: arXiv:1711.06109v3

You might also like
Discover & Discuss Important Research

Keeping up-to-date with research can feel impossible, with papers being published faster than you'll ever be able to read them. That's where Researcher comes in: we're simplifying discovery and making important discussions happen. With over 19,000 sources, including peer-reviewed journals, preprints, blogs, universities, podcasts and Live events across 10 research areas, you'll never miss what's important to you. It's like social media, but better. Oh, and we should mention - it's free.

  • Download from Google Play
  • Download from App Store
  • Download from AppInChina

Researcher displays publicly available abstracts and doesn’t host any full article content. If the content is open access, we will direct clicks from the abstracts to the publisher website and display the PDF copy on our platform. Clicks to view the full text will be directed to the publisher website, where only users with subscriptions or access through their institution are able to view the full article.