Skip to main content

Analysing Persistent Language Applications

  • Conference paper
Persistent Object Systems

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

Most research into persistent programming has been directed towards the design and implementation of languages and object stores. There are few reports on the characteristics of systems exploiting such technology. This paper reports on a study of the source code of 20 applications consisting of more than 108,000 lines of persistent language code. The authors of the applications range from students to experienced programmers. The programs have been categorised and examined with respect to a persistent application model and the extent of inconsistencies relative to this model is presented. The results confirm the need for and give input to the design of programming methodologies and tools for persistent software engineering. Measurements also include the use of names, types, (polymorphic) procedures and persistent bindings. It is hoped that analysis of the measurements will be used as input to the next generation of languages and programming environments. As part of this new generation, a measurements system is outlined operating entirely within the persistent environment, thus simplifying access to and measurement of both static and dynamic information.

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. Dearie A, Shaw GM, Zdonik SB. Proceedings of the Fourth International Workshop on Persistent Object Systems, Their Design, Implementation and Use. Martha’s Vineyard, USA, 23rd–27th September: Morgan Kaufmann, 1990

    Google Scholar 

  2. Albano A, Morrison R. Proceedings of the Fifth International Workshop on Persistent Object Systems: Design, Implementation and Use. San Miniato, Italy, lst–4th September: Springer-Verlag and British Computer Society, 1992

    Google Scholar 

  3. Beeri C, Ohori A, Shasha DE. Proceedings of the Fourth International Workshop on Database Programming Languages — Object Models and Languages. Manhattan, New York City, USA, 30th August — 1st September: Springer-Verlag and British Computer Society, 1993

    Google Scholar 

  4. Morrison R, Brown F, Connor R, Dearie A. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989

    Google Scholar 

  5. Atkinson MP, Sjùberg DIK, Morrison R. Managing Change in Persistent Object Systems. In: Nishio S, Yonezawa A, ed. First JSSST International Symposium on Object Technologies for Advanced Software. Kanazawa, Japan, 4th—-6th November: Lecture Notes in Computer Science 742, Springer-Verlag, 1993, pp 315–338

    Google Scholar 

  6. Basili VR, Reiter RW. A Controlled Experiment Quantitatively Comparing Software Development Approaches. IEEE Transactions on Software Engineering 1981; SE-7(3):299–320

    Article  Google Scholar 

  7. Law D, Naeem T. DESMET — Determining an Evaluation Methodology for Software Methods and Tools. In: Spurr K, Layzell P, ed. CASE, Current Practice, Future Prospects. J. Wiley & Sons, Chichester, England, 1992, pp 167–181

    Google Scholar 

  8. Knuth DE. An Empirical Study of FORTRAN Programs. Software — Practice and Experience 1971; 1(2): 105–133

    Article  MATH  Google Scholar 

  9. Card DN, Church VE, Agresti WW. An Empirical Study of Software Design Practices. IEEE Transactions on Software Engineering 1986; SE-12(2):264–270

    Google Scholar 

  10. Elshoff JL. An Analysis of some Commercial PL/1 Programs. IEEE Transactions on Software Engineering 1976; SE-2(2):113–120

    Article  Google Scholar 

  11. Saal HJ, Weiss Z. An Empirical Study of APL Programs. Computer Languages 1977; 2(3):47–59

    Article  MATH  Google Scholar 

  12. Bailey PJ. Performance Evaluation in a Persistent Object System. In: Rosenberg J, Koch D, ed. Third International Workshop on Persistent Object Stores. 10th–13th January 1989, Newcastle, New South Wales, Australia: Springer-Verlag and British Computer Society, 1989, pp 289–299

    Google Scholar 

  13. Loboz Z. Monitoring Execution of PS-algol Programs. In: Rosenberg J, Koch D, ed. Third International Workshop on Persistent Object Stores. 10th–13th January 1989, Newcastle, New South Wales, Australia: Springer-Verlag and British Computer Society, 1989, pp 279–288

    Google Scholar 

  14. Atkinson MP, Birnie A, Jackson N, Philbrow PC. Measuring Persistent Object Systems. In: [2], pp 63–85

    Google Scholar 

  15. Morrison R, Brown AL, Connor RCH, Dearie A, Kirby GNC, Cutts QI. The Napier88 Reference Manual (release 2.0). Technical Report CS/93/15, Department of Mathematical and Computational Sciences, University of St Andrews, 1993

    Google Scholar 

  16. Ritchie DM, Thompson K. The UNIX Time-Sharing System. The Bell System Technical Journal 1978; 63(6): 1905–1930

    Google Scholar 

  17. Dearie A. Environments: A Flexible Binding Mechanism to Support System Evolution. In: 22nd International Conference on Systems Sciences. Hawaii, January 1989, pp 46–55

    Google Scholar 

  18. Morrison R, Brown AL, Dearie A, Atkinson MP. On the Classification of Binding Mechanisms. Information Processing Letters 1990; 34(1):51–55

    Article  MATH  Google Scholar 

  19. Sjøberg DIK. Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems. Ph.D. thesis, Department of Computing Science, University of Glasgow, 1993

    Google Scholar 

  20. Sjøberg DIK, Atkinson MP, Weiland R. Thesaurus-Based Software Environments. Workshop on Software Engineering and Databases in conjunction with the 16th International Conference on Software Engineering. Sorrento, Italy, 16th–17th May 1994

    Google Scholar 

  21. Lehman MM, Belady L. Program Evolution, Processes of Software Change. A.P.I.C. Studies in Data Processing No. 27. London: Academic Press, 1985

    Google Scholar 

  22. Gibson VR, Senn JA. System Structure and Software Maintenance Performance. Communications of the ACM 1989; 32(3):347–358

    Article  Google Scholar 

  23. Dearie A, Cutts Q, Connor R. Using Persistence to Support Incremental System Construction. Microprocessors and Microsystems 1993; 17(3): 161–171

    Article  Google Scholar 

  24. Sjøberg DIK, Atkinson MP, Lopes J, Trinder P. Building an Integrated Persistent Application. In: [3], pp 359–375

    Google Scholar 

  25. Cutts QI. Delivering the Benefits of Persistence to System Construction and Execution. Ph.D. thesis, Department of Mathematical and Computational Sciences, University of St Andrews, 1993

    Google Scholar 

  26. Kendall MG. Rank Correlation Methods. (Second ed.) London: Charles Griffin, 1955

    MATH  Google Scholar 

  27. Banker RD, Datar SM, Kemerer CF, Zweig D. Software Complexity and Maintenance Costs. Communications of the ACM 1993; 36(11):81–94

    Article  Google Scholar 

  28. Barnard P, Hammond NV, MacLean A, Morton J. Learning and Remembering Interactive Commands in a Text-Editing Task. Behaviour and Information Technology 1982; 1:347–358

    Google Scholar 

  29. Weiser M, Shneiderman B. Human Factors of Computer Programming. In: Salvendy G, ed. Handbook of Human Factors. John Wiley & Sons, 1987, pp 1398–1415

    Google Scholar 

  30. Anand N. Clarify Function! ACM SIGPLAN Notices 1988; 23(6):69–79

    Article  Google Scholar 

  31. Cardelli L, Wegner P. On Understanding Types, Data Abstraction, and Polymorphism. ACM Computing Surveys 1985; 17(4):471–522

    Article  Google Scholar 

  32. Mitchell JC, Plotkin GD. Abstract Types Have Existential Types. Twelfth ACM Symposium on Principles of Programming Languages. New Orleans, 1985, pp 37–51

    Google Scholar 

  33. Marche S. Measuring the Stability of Data Models. European Journal on Information Systems 1993; 2(l):37–47

    Article  Google Scholar 

  34. Sjøberg DIK. Quantifying Schema Evolution. Information and Software Technology 1993; 35(l):35–44

    Article  Google Scholar 

  35. Connor RCH. Types and Polymorphism in Persistent Programming Systems. Ph.D. thesis, Department of Mathematical and Computational Sciences, University of St Andrews, 1991

    Google Scholar 

  36. Morrison R, Dearie A, Connor RCH, Brown AL. An Ad Hoc Approach to the Implementation of Polymorphism. ACM Transactions on Programming Languages and Systems 1991; 13(3):342–371

    Article  Google Scholar 

  37. Internal Report on the Contents of a Sample of Programs Surveyed. IBM Research Centre San Jose, California, 1978

    Google Scholar 

  38. Kirby G, Connor R, Cutts Q, Dearie A, Farkas A, Morrison R. Persistent Hyper-Programs. In: [2], pp 86–106

    Google Scholar 

  39. Atkinson MP, Buneman OP, Morrison R. Binding and Type Checking in Database Programming Languages. The Computer Journal 1988; 31(2):99–109

    Article  MATH  Google Scholar 

  40. Morrison R, Connor RCH, Cutts QI, Kirby GNC. Persistent Possibilities for Software Environments. Workshop on Software Engineering and Databases in conjunction with the 16th International Conference on Software Engineering. Sorrento, Italy, 16th-17th May 1994

    Google Scholar 

  41. Connor RCH, Cutts QI, Kirby GNC, Moore VS, Morrison R. Unifying Interaction with Persistent Data and Program. Second International Workshop on User Interfaces to Databases, 1994

    Google Scholar 

  42. Connor RCH, Cutts QI, Kirby GNC, Morrison R. Using Persistence Technology to Control Schema Evolution. In: Deaton E, Oppenheim D, Urban J, Berghel H, ed. Ninth ACM Symposium on Applied Computing. Phoenix, Arizona: ACM Press, 1994, pp 441–446

    Google Scholar 

  43. Morrison R, Baker C, Connor RCH, Cutts QI, Kirby GNC. Approaching Integration in Software Environments. Accepted subject to revision, Computer Journal 10/93 1993

    Google Scholar 

  44. Connor RCH, Brown AB, Cutts QI, Dearie A, Morrison R, Rosenberg J. Type Equivalence Checking in Persistent Object Systems. In: Dearie A, Shaw GM, Zdonik SB, ed. Implementing Persistent Object Bases. Morgan Kaufmann, 1990, pp 151–164

    Google Scholar 

  45. Cutts QI, Connor RCH, Kirby GNC, Morrison R. An Execution Driven Approach to Code Optimisation. 17th Australasian Computer Science Conference. Christchurch, New Zealand, 1994, pp83–92

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 British Computer Society

About this paper

Cite this paper

Sjøberg, D.I.K., Cutts, Q., Welland, R., Atkinson, M.P. (1995). Analysing Persistent Language Applications. In: Atkinson, M., Maier, D., Benzaken, V. (eds) Persistent Object Systems. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-2122-0_20

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-2122-0_20

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19912-0

  • Online ISBN: 978-1-4471-2122-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics