Suggested scenarios of software maintenance education

  • Frank W. Calliss
  • Debra Trantina Calliss
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 750)


To improve the quality of software maintenance work and to reduce the time taken to perform maintenance tasks, programmers need to be educated on how to maintain programs. Despite the complexity of software maintenance and the need for informed maintainers, there are few training programs or academic courses aimed at developing the skills that are required of maintenance programmers. In this paper we will look at four different scenarios for teaching software maintenance. These scenarios will be suitable for industrial training as well as university or college courses and are based on courses on software maintenance that the authors have given in industry and academia.


Reverse Engineering Maintenance Task Software Maintenance Maintenance Process Call Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    B.W. Boehm, “Software Engineering,” IEEE Transactions on Computers, vol. C-25, no. 12, pp. 25–32, December 1976.Google Scholar
  2. 2.
    F.W. Calliss and B.J. Cornelius, “Two Module Factoring Techniques,” The Journal of Software Maintenance — Research and Practice, vol. 1, no. 2, pp. 81–89, December 1989.Google Scholar
  3. 3.
    F.W. Calliss and D.L. Trantina, “A Controlled Software Maintenance Project,” Software Engineering Education (SEI Conference), Springer-Verlag, Lecture Notes in Computer Science 536, pp. 25–32, October 1991.Google Scholar
  4. 4.
    N. Chapin, “The Job of Software Maintenance,” in Proceedings of the Conference on Software Maintenance — 1987, IEEE Computer Society Press, pp. 4–12, 1987.Google Scholar
  5. 5.
    E.J. Chikofsky and J.H. Cross II, “Reverse Engineering and Design Recovery: A Taxonomy,” IEEE Software, vol. 7, no. 1, pp. 13–17, January 1990.CrossRefGoogle Scholar
  6. 6.
    J.S. Collofello, The Software Technical Review Process, SEI Curriculum Module SEI-CM-3-1.5, June 1988.Google Scholar
  7. 7.
    J.S. Collofello and S.N. Woodfield, “Evaluating the Effectiveness of Reliability-Assurance Techniques,” Journal of Systems and Software, pp. 191–195, 1989.Google Scholar
  8. 8.
    C.B. Engle, G. Ford and T. Korson, Software Maintenance Exercises for a Software Engineering Project Course, SEI Curriculum Module CMU/SEI-89-EM1, February 1989.Google Scholar
  9. 9.
    S.A. Gamalel-Din and L.J. Osterweil, “New Perspectives on Software Maintenance Processes,” in Proceedings of the Conference on Software Maintenance — 1988, IEEE Computer Society Press, pp. 14–22, 1988.Google Scholar
  10. 10.
    W. Harrison, K. Magel, R. Kluczny, and A. DeKock, “Applying Software Complexity Metrics to Program Maintenance,” Computer, pp. 65–79, September 1982.Google Scholar
  11. 11.
    C.H. Kepner and B.B. Trogoe, The New Rational Manager, Princeton Research Press, New Jersey, 1981.Google Scholar
  12. 12.
    M.M. Lehman, “On Understanding Laws, Evolution, and Conservation in the Large-Program Life Cycle,” The Journal of Systems and Software, vol. 1, pp. 213–221, 1980.CrossRefGoogle Scholar
  13. 13.
    B.P. Lientz and E.B. Swanson, Software Maintenance Management, Addison-Wesley, Reading, Massachusetts, 1980.Google Scholar
  14. 14.
    R.S. Pressman, Software Engineering: A Practitioners Approach, McGraw-Hill, 1992.Google Scholar
  15. 15.
    B. Schwartz, “Eight Myths about Software Maintenance,” Datamation, August 1982.Google Scholar
  16. 16.
    N.F. Schneidewind, “The State of Software Maintenance,” IEEE Transactions on Software Engineering, vol. SE-13, no. 3, pp. 303–310, March 1987.Google Scholar
  17. 17.
    E. Soloway and K. Ehrlich, “Empirical Studies of Programming Knowledge,” IEEE Transactions on Software Engineering, vol. SE-10, no. 5, pp. 595–609, March 1984.Google Scholar
  18. 18.
    M. Weiser, “Programmers use Slices When Debugging,” Communications of the ACM, vol. 25, no. 7, pp. 446–452, July 1982.CrossRefGoogle Scholar
  19. 19.
    N. Wilde, Understanding Program Dependencies, SEI Curriculum Module SEI-CM-26, August 1990.Google Scholar
  20. 20.
    M.H. Williams and H.L. Ossher, “Conversion of Unstructured Flow Diagrams to Structured Form,” The Computer Journal, vol. 21, no. 2, pp. 161–167, May 1978.Google Scholar
  21. 21.
    S.S. Yau and J.S. Collofello, “Some Stability Measures for Software Maintenance,” IEEE Transactions on Software Engineering, vol. SE-6, no. 6, pp. 545–552, November 1980.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Frank W. Calliss
    • 1
  • Debra Trantina Calliss
    • 1
  1. 1.Department of Computer Science and Engineering College of Engineering and Applied SciencesArizona State UniversityTempeUSA

Personalised recommendations