Transparent Persistence Appears Problematic for Software Maintenance - A Randomized, Controlled Experiment

Pietu Pohjalainen

2013

Abstract

Information retrieval from a database is the backbone of many applications. For building object-oriented systems with a relational persistence engine, a common approach is to use an object-to-relational mapping library for handling the mismatch between object-oriented and relational data models. These components should make the application programmer oblivious to the choice of relational database. To study the effects of transparent persistence, we conducted a randomized, controlled study for 16 students, who were given a number of maintenance tasks on a sample software. For half of attendees, the sample software was written using the transparent persistence approach. For the second half the sample software used a self-configuring component for automatically generating database queries. We found out that the group using transparent persistence were performing worse than the group using self-configuring queries. Attendees in both groups were using the same amount of time for performing the given maintenance tasks, but the transparent persistence group was outperformed by a factor of three in the number of correct submissions. The use of transparent persistence turned out to be a major error source. This gives us a reason to doubt the usefulness of transparent persistence in the long run.

References

  1. Arisholm, E. and Sjoberg, D. I. K. (2004). Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. IEEE Trans. Softw. Eng., 30(8):521-534.
  2. Atkinson, M. and Morrison, R. (1995). Orthogonally persistent object systems. The VLDB Journal, 4(3):319- 402.
  3. Atkinson, M. P., Bailey, P. J., Chisholm, K., Cockshott, W. P., and Morrison, R. (1983). An approach to persistent programming. Comput. J., 26(4):360-365.
  4. Bartsch, M. and Harrison, R. (2008). An exploratory study of the effect of aspect-oriented programming on maintainability. Software Quality Control, 16(1):23-44.
  5. Bauer, C. and King, G. (2004). Hibernate in Action (In Action series). Manning Publications Co., Greenwich, CT, USA.
  6. DeMichiel, L. and Keith, M. (2007). JSR 220: Enterprise JavaBeans 3.0. Technical report, Sun Microsystems.
  7. Elliott, C., Finne, S., and de Moor, O. (2003). Compiling embedded languages. Journal of Functional Programming, 13(2).
  8. Endrikat, S. and Hanenberg, S. (2011). 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'11, pages 51 -60.
  9. Fisher, M., Ellis, J., and Bruce, J. C. (2003). JDBC API Tutorial and Reference. Pearson Education, 3 edition.
  10. Gamma, E., Helm, R., Johnson, R. E., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA.
  11. Gorla, N. (1991). Techniques for application software maintenance. Inf. Softw. Technol., 33(1):65-73.
  12. Ibrahim, A. and Cook, W. R. (2006). Automatic prefetching by traversal profiling in object persistence architectures. In Proceedings of the 20th European conference on Object-Oriented Programming, ECOOP'06, pages 50-73, Berlin, Heidelberg. Springer-Verlag.
  13. IEEE14764 (2006). 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), pages 1-46.
  14. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming, ECOOP'97, pages 220-242.
  15. Kulesza, U., Sant'Anna, C., Garcia, A., Coelho, R., von Staa, A., and Lucena, C. (2006). Quantifying the effects of aspect-oriented programming: A maintenance study. In Proceedings of 22nd IEEE International Conference on Software Maintenance, ICSM 7806, pages 223 -233.
  16. Pohjalainen, P. (2010). Self-configuring user interface components. In Proceedings of the 1st International Workshop on Semantic Models for Adaptive Interactive Systems, SEMAIS 7810, pages 33-37, New York, NY, USA. ACM.
  17. Pohjalainen, P. (2011). 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'11, pages 323-332.
  18. Pohjalainen, P. and Taina, J. (2008). Self-configuring object-to-relational mapping queries. In Proceedings of the 6th international symposium on Principles and practice of programming in Java, PPPJ 7808, pages 53- 59, New York, NY, USA. ACM.
  19. Rice, H. G. (1953). Classes of recursively enumerable sets and their decision problems. Trans. Amer. Math. Soc., 74:358-366.
  20. Robson, C. (2011). Real World Research: A Resource for Users of Social Research Methods in Applied Settings. John Wiley & Sons.
  21. Vihavainen, A., Paksula, M., and Luukkainen, M. (2011). Extreme apprenticeship method in teaching programming for beginners. In Proceedings of the 42nd ACM technical symposium on Computer science education, SIGCSE 7811, pages 93-98, New York, NY, USA. ACM.
  22. Wiedermann, B., Ibrahim, A., and Cook, W. R. (2008). Interprocedural query extraction for transparent persistence. In Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, OOPSLA 7808, pages 19-36, New York, NY, USA. ACM.
  23. Yermolovich, A., Gal, A., and Franz, M. (2008). 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 7808, pages 63-72, New York, NY, USA. ACM.
Download


Paper Citation


in Harvard Style

Pohjalainen P. (2013). Transparent Persistence Appears Problematic for Software Maintenance - A Randomized, Controlled Experiment . In Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-62-4, pages 25-35. DOI: 10.5220/0004417900250035


in Bibtex Style

@conference{enase13,
author={Pietu Pohjalainen},
title={Transparent Persistence Appears Problematic for Software Maintenance - A Randomized, Controlled Experiment},
booktitle={Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2013},
pages={25-35},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004417900250035},
isbn={978-989-8565-62-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Transparent Persistence Appears Problematic for Software Maintenance - A Randomized, Controlled Experiment
SN - 978-989-8565-62-4
AU - Pohjalainen P.
PY - 2013
SP - 25
EP - 35
DO - 10.5220/0004417900250035