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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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
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
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
Morrison R, Brown F, Connor R, Dearie A. The Napier88 Reference Manual. Technical Report PPRR-77-89, Universities of Glasgow and St Andrews, 1989
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
Basili VR, Reiter RW. A Controlled Experiment Quantitatively Comparing Software Development Approaches. IEEE Transactions on Software Engineering 1981; SE-7(3):299–320
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
Knuth DE. An Empirical Study of FORTRAN Programs. Software — Practice and Experience 1971; 1(2): 105–133
Card DN, Church VE, Agresti WW. An Empirical Study of Software Design Practices. IEEE Transactions on Software Engineering 1986; SE-12(2):264–270
Elshoff JL. An Analysis of some Commercial PL/1 Programs. IEEE Transactions on Software Engineering 1976; SE-2(2):113–120
Saal HJ, Weiss Z. An Empirical Study of APL Programs. Computer Languages 1977; 2(3):47–59
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
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
Atkinson MP, Birnie A, Jackson N, Philbrow PC. Measuring Persistent Object Systems. In: [2], pp 63–85
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
Ritchie DM, Thompson K. The UNIX Time-Sharing System. The Bell System Technical Journal 1978; 63(6): 1905–1930
Dearie A. Environments: A Flexible Binding Mechanism to Support System Evolution. In: 22nd International Conference on Systems Sciences. Hawaii, January 1989, pp 46–55
Morrison R, Brown AL, Dearie A, Atkinson MP. On the Classification of Binding Mechanisms. Information Processing Letters 1990; 34(1):51–55
Sjøberg DIK. Thesaurus-Based Methodologies and Tools for Maintaining Persistent Application Systems. Ph.D. thesis, Department of Computing Science, University of Glasgow, 1993
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
Lehman MM, Belady L. Program Evolution, Processes of Software Change. A.P.I.C. Studies in Data Processing No. 27. London: Academic Press, 1985
Gibson VR, Senn JA. System Structure and Software Maintenance Performance. Communications of the ACM 1989; 32(3):347–358
Dearie A, Cutts Q, Connor R. Using Persistence to Support Incremental System Construction. Microprocessors and Microsystems 1993; 17(3): 161–171
Sjøberg DIK, Atkinson MP, Lopes J, Trinder P. Building an Integrated Persistent Application. In: [3], pp 359–375
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
Kendall MG. Rank Correlation Methods. (Second ed.) London: Charles Griffin, 1955
Banker RD, Datar SM, Kemerer CF, Zweig D. Software Complexity and Maintenance Costs. Communications of the ACM 1993; 36(11):81–94
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
Weiser M, Shneiderman B. Human Factors of Computer Programming. In: Salvendy G, ed. Handbook of Human Factors. John Wiley & Sons, 1987, pp 1398–1415
Anand N. Clarify Function! ACM SIGPLAN Notices 1988; 23(6):69–79
Cardelli L, Wegner P. On Understanding Types, Data Abstraction, and Polymorphism. ACM Computing Surveys 1985; 17(4):471–522
Mitchell JC, Plotkin GD. Abstract Types Have Existential Types. Twelfth ACM Symposium on Principles of Programming Languages. New Orleans, 1985, pp 37–51
Marche S. Measuring the Stability of Data Models. European Journal on Information Systems 1993; 2(l):37–47
Sjøberg DIK. Quantifying Schema Evolution. Information and Software Technology 1993; 35(l):35–44
Connor RCH. Types and Polymorphism in Persistent Programming Systems. Ph.D. thesis, Department of Mathematical and Computational Sciences, University of St Andrews, 1991
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
Internal Report on the Contents of a Sample of Programs Surveyed. IBM Research Centre San Jose, California, 1978
Kirby G, Connor R, Cutts Q, Dearie A, Farkas A, Morrison R. Persistent Hyper-Programs. In: [2], pp 86–106
Atkinson MP, Buneman OP, Morrison R. Binding and Type Checking in Database Programming Languages. The Computer Journal 1988; 31(2):99–109
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
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
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
Morrison R, Baker C, Connor RCH, Cutts QI, Kirby GNC. Approaching Integration in Software Environments. Accepted subject to revision, Computer Journal 10/93 1993
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
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
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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