Renovating Database Applications with DBAutoAwesome

  • Jonathan AdamsEmail author
  • Curtis E. Dyreson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10837)


Renovating a database application is the act of significantly reprogramming the application to meet new needs, extend functionality, or re-design to foster maintainability. It can be costly to manually renovate a database application so techniques for automating the renovation are needed. Previous research in renovation has focused on methods to improve performance, such as autonomic database research to automatically tune a DBMS or manage indexes. But there has been little previous research on how to improve functionality. There are several ways in which the functionality can be improved such as interfaces to other tools (e.g., data mining with Weka), content management system integration (e.g., Wordpress plugins), an enhanced set of forms and scripts to query and manage the data, and database mediation and migration scripts. We focus on the final category in this paper: management of the data. We propose an approach, which we call DBAutoAwesome, that adopts Google’s Auto Awesome philosophy: automatically improve an existing artifact and let the user (developer) decide whether to keep and use the improved artifact. The DBAutoAwesome approach ingests a database application to produce an enhanced application. In this paper we describe how DBAutoAwesome enhances data modification and query forms.


  1. 1.
    PHPMetrics MS Windows NT kernel description. Accessed 30 Mar 2016
  2. 2.
  3. 3.
    An, Y., Khare, R., Song, I.-Y., Hu, X.: Automatically mapping and integrating multiple data entry forms into a database. In: Jeusfeld, M., Delcambre, L., Ling, T.-W. (eds.) ER 2011. LNCS, vol. 6998, pp. 261–274. Springer, Heidelberg (2011). Scholar
  4. 4.
    Cedrim, D.: Context-sensitive identification of refactoring opportunities. In: Proceedings of the International Conference on Software Engineering, ICSE, pp. 827–830 (2016)Google Scholar
  5. 5.
    Frakes, W.B., Terry, C.: Software reuse: metrics and models. ACM Comput. Surv. 28(2), 415–435 (1996)CrossRefGoogle Scholar
  6. 6.
    Goeminne, M., Decan, A., Mens, T.: Co-evolving code-related and database-related changes in a data-intensive software system. In: 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering, CSMR-WCRE 2014, Antwerp, Belgium, 3–6 February 2014, pp. 353–357 (2014)Google Scholar
  7. 7.
    Gries, C., Gilbert, E., Franz, N.: Symbiota - a virtual platform for creating voucher-based biodiversity information communities. Biodivers. Data J. 2, e1114 (2014)CrossRefGoogle Scholar
  8. 8.
    Ilyas, I.F., Markl, V., Haas, P.J., Brown, P.G., Aboulnaga, A.: Automatic relationship discovery in self-managing database systems. In: 1st International Conference on Autonomic Computing (ICAC 2004), New York, NY, USA, 17–19 May 2004, pp. 340–341 (2004)Google Scholar
  9. 9.
    Jagadish, H.V., Chapman, A., Elkiss, A., Jayapandian, M., Li, Y., Nandi, A., Yu, C.: Making database systems usable. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, Beijing, China, 12–14 June 2007, pp. 13–24 (2007)Google Scholar
  10. 10.
    Jayapandian, M., Jagadish, H.V.: Automated creation of a forms-based database query interface. PVLDB 1(1), 695–709 (2008)Google Scholar
  11. 11.
    Nandi, A., Jagadish, H.V.: Assisted querying using instant-response interfaces. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, Beijing, China, 12–14 June 2007, pp. 1156–1158 (2007)Google Scholar
  12. 12.
    Oh, J.S., Lee, S.H.: Resource selection for autonomic database tuning. In: Proceedings of the 21st International Conference on Data Engineering Workshops, ICDE 2005, 5–8 April 2005, Tokyo, Japan, p. 1218 (2005)Google Scholar
  13. 13.
    Sharma, T.: Identifying extract-method refactoring candidates automatically. In: Fifth Workshop on Refactoring Tools 2012, WRT 2012, Rapperswil, Switzerland, 1 June 2012, pp. 50–53 (2012)Google Scholar
  14. 14.
    Vial, G.: Database refactoring: lessons from the trenches. IEEE Softw. 32(6), 71–79 (2015)CrossRefGoogle Scholar
  15. 15.
    Voigt, H., Kissinger, T., Lehner, W.: SMIX: self-managing indexes for dynamic workloads. In: Conference on Scientific and Statistical Database Management, SSDBM 2013, Baltimore, MD, USA, 29–31 July 2013, pp. 24:1–24:12 (2013)Google Scholar
  16. 16.
    Wang, G., Jia, Z., Xue, M.: Data migration model and algorithm between heterogeneous databases based on web service. JNW 9(11), 3127–3134 (2014)Google Scholar
  17. 17.
    Wolf, G., Kalavagattu, A., Khatri, H., Balakrishnan, R., Chokshi, B., Fan, J., Chen, Y., Kambhampati, S.: Query processing over incomplete autonomous databases: query rewriting using learned data dependencies. VLDB J. 18(5), 1167–1190 (2009)CrossRefGoogle Scholar
  18. 18.
    Xin, R., Dantressangle, P., Lightstone, S., McLaren, W., Schormann, S., Schwenger, M.: MEET DB2: automated database migration evaluation. PVLDB 3(2), 1426–1434 (2010)Google Scholar
  19. 19.
    Zisman, A., Kramer, J.: Information discovery for interoperable autonomous database systems. Ph.D. thesis, Imperial College London, UK (1998)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceUtah State UniversityLoganUSA

Personalised recommendations