Skip to main content
Log in

Software quality through domain-;driven certification

  • Published:
Annals of Software Engineering

Abstract

Software reuse is being pursued in an attempt to improve programmer productivity. The concept of reuse is to permit various work products of software development to be used on more than one project in order to amortize their development costs. Productivity is not the only advantage of reuse although it is the most widely publicized. By incorporating reusable components into a new product, the components bring with them whatever qualities they possess, and these can contribute to the quality of the new product. This suggests that reuse might be exploited for achieving quality as an entirely separate goal from improving productivity. If useful properties pertaining to quality could be shown to be present in products as a direct result of software development based on reuse, this might be a cost-;effective way of achieving those qualities irrespective of the productivity advantages. The adjective certified is sometimes used to describe components that have been tested in some way prior to entry into a library but the term certified is not formally defined in the reuse literature. In this paper, we address the issue of certifying reusable components. We advocate the development of software by reuse with the specific intent of establishing as many of the required properties in the final product as possible by depending upon properties present in the reusable components. For this goal to succeed, a precise definition of certification of reusable components is required and such a definition is presented. The benefits of the definition and the way in which it supports the goal are explored.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Andrews, D.M. and J.P. Benson (1981), “Automated Program Testing Methodology and Its Implementation,” In Proceedings the Fifth International Conference Software Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 254–261.

    Google Scholar 

  • Barnes, B., T. Durek, J. Gaffney and A. Pyster (1987), “A Framework and Economic Foundation for Software Reuse,” In Proceedings of the Workshop on Software Reusability and Maintainability, National Institute of Software Quality and Productivity, Boulder, CO.

    Google Scholar 

  • Bassett, P.G. (1987), “Frame-Based Software Engineering,” IEEE Software 4, 4, 9–16.

    Article  Google Scholar 

  • Biggerstaff, T.J. and C. Richter (1987), “Reusability Framework, Assessment, and Directions,” IEEE Software 4, 2, 41–49.

    Article  Google Scholar 

  • Caldiera, G. and V.R. Basili (1991), “Identifying and Qualifying Reusable Software Components,” IEEE Computer 24, 2, 61–70.

    Google Scholar 

  • Clough, A., S. David and P. Roberts (1989), Software Quality Evaluation for Reusable Components, The Charles Stark Draper Laboratory, Cambridge, MA.

    Google Scholar 

  • Dowson, M. (1987), Personal communication.

  • Fagan, M.E. (1986), “Advances in Software Inspections,” IEEE Transactions on Software Engineering, 12, 7, 744–751.

    Google Scholar 

  • Freeman, P., Ed. (1988), Software Reuse: Emerging Technology, IEEE Computer Society Press, Los Alamitos, CA.

  • Gargaro, A. and T.L. Pappas (1987), “Reusability Issues and Ada,” IEEE Software 4, 4, 43–51.

    Article  Google Scholar 

  • Horowitz, E. and J.B. Munson (1984), “An Expansive View of Reusable Software,” IEEE Transactions on Software Engineering 10, 5, 477–487.

    Article  Google Scholar 

  • Howell, C. and D. Mularz (1991), “Exception Handling in Large Ada Systems,” Technical Report, MITRE Corporation, McLean, VA.

    Google Scholar 

  • Jones, C.B. (1986), Systematic Software Development Using VDM, Prentice-Hall, Englewood Cliffs, NJ.

    MATH  Google Scholar 

  • Lenz, M., H.A. Schmid and P.F. Wolf (1987), “Software Reuse Through Building Blocks,” IEEE Software 4, 4, 34–42.

    Article  Google Scholar 

  • Leveson, N.G., S.S. Cha, T.J. Shimeall and J.C. Knight (1990), “The Use Self Checks And Voting in Software Error Detection: An Empirical Study,” IEEE Transactions Software on Engineering 16, 4, 432–443.

    Article  Google Scholar 

  • Luckham, D.C. and F.W. von Henke (1985), “An Overview of Anna, A Specification Language For Ada,” IEEE Software 2, 2, 47–57.

    Article  Google Scholar 

  • McCabe, T.J. (1976), “A Complexity Measure,” IEEE Transactions Software Engineering 2, 4, 308–320.

    Article  MathSciNet  Google Scholar 

  • Meyer, B. (1988), “EIFFEL: Reusability and Reliability,” In Software Reuse: Emerging Technology, Tracz, W., Ed., IEEE Computer Society Press, Los Alamitos, CA, pp. 216–228.

    Google Scholar 

  • Naher, S. and C. Uhrig (1997), The LEDA User Manual, Max-Planck-Institut für Informatik, Saarbrüc, Germany, http://www.informatik.uni-halle.de/ naeher/Manual/MANUAL.html.

    Google Scholar 

  • Ogden, W.F., M. Sitaraman, B.W. Weide and S.H. Zweben (1994), “The RESOLVE Framework and Discipline – A Research Synopsis,” ACM SIGSOFT Software Engineering Notes 19, 4, 23–28.

    Article  Google Scholar 

  • Research Triangle Institute (1993), Certification of Reusable Software Components, Center for Digital Systems Research, Research Triangle Institute, Research Triangle Park, NC.

    Google Scholar 

  • Prieto-Diaz, R. (1990), “Domain Analysis: An Introduction,” ACM SIGSOFT Software Engineering Notes 15, 2, 47–54.

    Article  Google Scholar 

  • Rice, J. and H. Schwetman (1989), “Interface Issues In A Software Parts Technology,” In Software Reusability, T. Biggerstaff and A. Perlis, Eds., Addison-Wesley, Reading, MA, pp. 125–139.

    Google Scholar 

  • Software Productivity Consortium (1989), Ada Quality and Style: Guidelines for Professional Programmers, Van Nostrand Reinhold, New York, NY.

    Google Scholar 

  • Software Productivity Solutions (1996), Certification Framework, Software Productivity Solutions Inc., Indialantic, FL.

    Google Scholar 

  • Tracz, W. (1988), “Software Reuse Myths,” ACM SIGSoft: Software Engineering Notes 13, 1, 17–21.

    Article  Google Scholar 

  • Tracz, W., Ed. (1988), Software Reuse: Emerging Technology, IEEE Computer Society Press, Los Alamitos, CA.

  • U.S. Department of Defense, Ada Joint Program Office (1983), Reference Manual For The Ada Programming Language, ANSI/MIL-STD-1815A, U.S. Department of Defense, Washington, DC.

    Google Scholar 

  • Weide, B.W. and J.E. Hollingsworth (1994), On Local Certifiability of Software Components, Technical Report OSU-CISRC-1/94-TR04, Department of Computer and Information Sciences, Ohio State University, Columbus, OH.

    Google Scholar 

  • Wohlin, C. and P. Runeson (1994), “Certification of Software Components,” IEEE Transactions on Software Engineering 20, 6, 494–499.

    Article  Google Scholar 

  • Zelkowitz, M., J. Gannon and A. Shaw (1979), Principles of Software Engineering and Design, Prentice-Hall, Englewood Cliffs, NJ.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Knight, J.C., Dunn, M.F. Software quality through domain-;driven certification. Annals of Software Engineering 5, 293–315 (1998). https://doi.org/10.1023/A:1018960021044

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018960021044

Keywords

Navigation