GGrantIndex
← Search

III: Small: Automatic Detection and Resolution of Anti-Patterns in Database Applications

$500,000FY2019CSENSF

Georgia Tech Research Corporation, Atlanta GA

Investigators

Abstract

Designing and deploying data-intensive applications is easier now than it ever has been due to the proliferation of data science and database-as-a-service platforms. Data scientists can create applications in a short amount of time that have the potential to reach millions of users and that need to efficiently operate on large amounts of data. Designing database applications is, however, non-trivial since scientists can unknowingly fall into the trap of using an intuitive solution to a problem that is ineffective and often counterproductive, a so called "anti-pattern," thus violating fundamental design principles. The goal of this project is to improve the quality of database applications through a new holistic approach to automatically finding, ranking, and fixing anti-patterns. Studying and developing these techniques is essential in order to support future data science applications that need to efficiently process large amounts of data. The proposed research will make it easier for data scientists to develop applications that: (1) support much larger data sets and more complex workloads; (2) can evolve with less maintenance effort; and (3) are more accurate and secure than what is possible today. As a result, this will accelerate data science and reduce the labor cost of designing and maintaining database applications. The technical aims of the project are divided into three interacting research thrusts: (1) finding anti-patterns in database applications with high precision and recall; (2) ranking the impact of different anti-patterns on performance, maintainability, accuracy, and security; and (3) fixing anti-patterns by altering the logical and physical design of the database and rewriting queries. This research will develop new mechanisms for automated detection and resolution of anti-patterns that go beyond what is achievable in existing systems. The proposed techniques will enable data scientists to develop more performant, maintainable, accurate, and secure applications and will be implemented in a new open-source toolchain. The techniques and methods developed from this research will offer benefits outside of the context of database management systems because it will remove a significant impediment in deriving the full benefits of data-driven decision-making applications. This research effort will advance the understanding of applying program analysis and refactoring techniques to improve database applications. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →