Skip to main content

An Experiment on Self-configuring Database Queries

  • Conference paper
Evaluation of Novel Approaches to Software Engineering (ENASE 2013)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 417))

  • 413 Accesses

Abstract

Database access is in the core of many software systems. When building an object-oriented system with a relational backend, a common approach is to use an object-to-relational mapping component to make the relational database oblivious to the application programmer.

Self-configuring database queries is a way to reduce the effect of internal dependencies within a software. To assess its usability, we organized a randomized, controlled study for software engineering students, who were given a number of maintenance tasks on a sample software with two versions: the first one using transparent persistency as a control group and the second using self-configuring queries.

Although the attendees in both groups used equal time in completing the tasks, it turned out that the group using self-configuring queries outperformed the control group in code quality by a factor of three. This gives us evidence to believe that self-configuration in a software’s architecture can be beneficial for maintainability.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Fisher, M., Ellis, J., Bruce, J.C.: JDBC API Tutorial and Reference, 3rd edn. Pearson Education (2003)

    Google Scholar 

  2. Atkinson, M.P., Bailey, P.J., Chisholm, K., Cockshott, W.P., Morrison, R.: An approach to persistent programming. Comput. J. 26, 360–365 (1983)

    Article  MATH  Google Scholar 

  3. Bauer, C., King, G.: Hibernate in Action (In Action series). Manning Publications Co., Greenwich (2004)

    Google Scholar 

  4. DeMichiel, L., Keith, M.: JSR 220: Enterprise JavaBeans 3.0. Technical report, Sun Microsystems (2007)

    Google Scholar 

  5. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  6. Pohjalainen, P.: Self-configuring user interface components. In: Proceedings of the 1st International Workshop on Semantic Models for Adaptive Interactive Systems, SEMAIS 2010, pp. 33–37. ACM, New York (2010)

    Chapter  Google Scholar 

  7. Pohjalainen, P., Taina, J.: Self-configuring object-to-relational mapping queries. In: Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java, PPPJ 2008, pp. 53–59. ACM, New York (2008)

    Google Scholar 

  8. Gamma, E., Helm, R., Johnson, R.E., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  9. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  10. International Standard - ISO/IEC 14764 IEEE Std 14764-2006 software engineering #2013; software life cycle processes #2013; maintenance. ISO/IEC 14764:2006 (E) IEEE Std 14764-2006 Revision of IEEE Std 1219-1998, pp. 1–46 (2006)

    Google Scholar 

  11. Robson, C.: Real World Research: A Resource for Users of Social Research Methods in Applied Settings. John Wiley & Sons (2011)

    Google Scholar 

  12. Arisholm, E., Sjoberg, D.I.K.: Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. IEEE Trans. Softw. Eng. 30, 521–534 (2004)

    Article  Google Scholar 

  13. Gorla, N.: Techniques for application software maintenance. Inf. Softw. Technol. 33, 65–73 (1991)

    Article  Google Scholar 

  14. Atkinson, M., Morrison, R.: Orthogonally persistent object systems. The VLDB Journal 4, 319–402 (1995)

    Article  Google Scholar 

  15. Elliott, C., Finne, S., de Moor, O.: Compiling embedded languages. Journal of Functional Programming 13 (2003)

    Google Scholar 

  16. Yermolovich, A., Gal, A., Franz, M.: Portable execution of legacy binaries on the Java virtual machine. In: Proceedings of the 6th International Symposium on Principles and Practice of Programming in Java, PPPJ 2008, pp. 63–72. ACM, New York (2008)

    Google Scholar 

  17. Ibrahim, A., Cook, W.R.: Automatic prefetching by traversal profiling in object persistence architectures. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 50–73. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  18. Wiedermann, B., Ibrahim, A., Cook, W.R.: Interprocedural query extraction for transparent persistence. In: Proceedings of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, OOPSLA 2008, pp. 19–36. ACM, New York (2008)

    Google Scholar 

  19. Rice, H.G.: Classes of recursively enumerable sets and their decision problems. Trans. Amer. Math. Soc. 74, 358–366 (1953)

    Article  MATH  MathSciNet  Google Scholar 

  20. Pohjalainen, P.: Bottom-up modeling for a software product line: An experience report on agile modeling of governmental mobile networks. In: Proceedings of 15th International Software Product Line Conference, SPLC 2011, pp. 323–332 (2011)

    Google Scholar 

  21. Piccioni, M., Furia, C.A., Meyer, B.: An empirical study of api usability. In: Proceedings of 7th International Symposium on Empirical Software Engineering and Measurement, ESEM 2013 (2013)

    Google Scholar 

  22. Bartsch, M., Harrison, R.: An exploratory study of the effect of aspect-oriented programming on maintainability. Software Quality Control 16, 23–44 (2008)

    Article  Google Scholar 

  23. Kulesza, U., Sant’Anna, C., Garcia, A., Coelho, R., von Staa, A., Lucena, C.: Quantifying the effects of aspect-oriented programming: A maintenance study. In: Proceedings of 22nd IEEE International Conference on Software Maintenance, ICSM 2006, pp. 223–233 (2006)

    Google Scholar 

  24. Endrikat, S., Hanenberg, S.: Is aspect-oriented programming a rewarding investment into future code changes? A socio-technical study on development and maintenance time. In: Proceedings of IEEE 19th International Conference on Program Comprehension, ICPC 2011, pp. 51–60 (2011)

    Google Scholar 

  25. Vihavainen, A., Luukkainen, M.: Results from a three-year transition to the extreme apprenticeship method. In: 2013 IEEE 13th International Conference on Advanced Learning Technologies (ICALT), pp. 336–340 (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pohjalainen, P. (2013). An Experiment on Self-configuring Database Queries. In: Filipe, J., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2013. Communications in Computer and Information Science, vol 417. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-54092-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-54092-9_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-54091-2

  • Online ISBN: 978-3-642-54092-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics