Skip to main content

Setting a Framework for Trusted Component Trading

  • Chapter
Component-Based Software Quality

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2693))

Abstract

Software engineers constructing systems from third-party components need to be able to assess the quality of those components in order to have any confidence in the final system. We argue that the most effective and economic way to do this is for developers to supply test specifications along with the components that they offer to the market. We describe a simple, portable test specification based on XML documents. When a test specification is packaged with a purchased component, system builders are efficiently able to not only verify a component developer’s claim for quality but also use the test specification to elucidate fine details of a component’s capabilities that may be missing or not manifest in a natural language specification. A system builder selecting a component for integration into a new system needs to consider more than its ability to perform the required functions: the degree of testing can be an important indication of its reliability. Thus we propose an index, describing the degree of testing that a component has undergone, which can be used to rate components and aid selection decisions. Combined with a test specification, a purchaser can efficiently determine whether a component meets claims for its quality.

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. Burnstein, I., Suwannasart, T., Carlson, C.R.: Developing a testing maturity model: Part I. Crosstalk: The Journal of Defense Software Engineering 9 (1996)

    Google Scholar 

  2. Voas, J.: A Defensive Approach to Certifying COTS Software. Reliable Software Technologies Corporation (1997)

    Google Scholar 

  3. Sampat, N.: Components and Component-Ware Development; A collection of component definitions (1998), http://www.cms.dmu.ac.uk/~nmsampat/research/subject/reuse/components/index.html

  4. Morris, J., Bundell, G., Lee, G., Parker, K., Lam, C.P.: Component Certification. IEEE Computer 34, 30–36 (2001)

    Google Scholar 

  5. European Telecommunications Standards Institute: Testing and Test Control Notation, TTCN-3 (2003), http://www.etsi.org/ptcc/ptccttcn3.htm

  6. Software Component Laboratory: DTD for a Test Specification. Centre for Intelligent Processing Systems (2001)

    Google Scholar 

  7. Object Management Group: CORBA FAQ and Resources (2002), http://www.omg.org/gettingstarted/corbafaq.htm

  8. Microsoft, NET (2002), http://www.microsoft.com/net/

  9. Thomas, A.: Enterprise JavaBeans: Server Component Model for Java (1997), http://www.javasoft.com/products/ejb

  10. Brown, A.W., Wallnau, K.C.: The current state of CBSE. IEEE Software 15, 37–46 (1998)

    Article  Google Scholar 

  11. Aoyama, M.: New age of software development: How component-based software engineering changes the way of software development. In: International Conference on Software Engineering (1998)

    Google Scholar 

  12. Garlan, D., Allen, R., Ockerbloom, J.: Architectural Mismatch or Why it’s Hard to Build Systems out of Existing Parts. In: Proceedings of the 17th International Conference on Software Engineering, pp. 179–185 (1995)

    Google Scholar 

  13. Boehm, B.: Managing software productivity and reuse. IEEE Computer 32, 111–113 (1999)

    Google Scholar 

  14. Profeta III, J.A., Andrianos, N.P., Yu, B., Johnson, B.W., Delong, T.A., Guaspari, D., Jamsek, D.: Safety-critical systems built with cots. IEEE Computer 29, 54–60 (1996)

    Google Scholar 

  15. Hinchey, M.G.: To formalize or not to formalize. IEEE Computer 29, 18–19 (1996)

    Google Scholar 

  16. Wileden, J.: Programming languages and software engineering: past, present and future. ACM Computing Surveys 28, 202–242 (1996)

    Article  Google Scholar 

  17. Weyuker, E.J.: Testing component-based software: A cautionary tale. IEEE Software 15, 54–59 (1998)

    Article  Google Scholar 

  18. Voas, J.: Developing a usage-based software certification process. IEEE Computer 33, 32–37 (2000)

    Google Scholar 

  19. Pavlopoulou, C., Young, M.: Residual test coverage monitoring. In: Proceedings of the 1999 International Conference on Software Engineering, pp. 277–284. IEEE Computer Society Press / ACM Press (1999)

    Google Scholar 

  20. Radio Technical Commission for Aeronautics: Software Considerations in Airborne Systems and Equipment Certification: DO-178B. RTCA, Inc. (1992)

    Google Scholar 

  21. Ministry of Defence Directorate of Standardisation: Defence Standard 00-55: The Procurement of Safety Critical Software in Defence Equipment. HM Government (1997)

    Google Scholar 

  22. Underwriters Laboratories, UL Standard for Safety for Software in Programmable Components. Underwriters Laboratories (1998)

    Google Scholar 

  23. Stafford, J., Wallnau, K.: Is third party certification necessary? In: 4th ICSE Workshop on Component-Based Software Engineering: Component Certification and System Prediction (2001)

    Google Scholar 

  24. Fenton, N.E., Neil, M.: A strategy for improving safety related software engineering standards. IEEE Transactions on Software Engineering 24, 1002–1013 (1998)

    Article  Google Scholar 

  25. Pfleeger, S.L., Fenton, N., Page, S.: Evaluating software engineering standards. Computer 27, 71–79 (1994)

    Google Scholar 

  26. British Standards Institution: Standard for Software Component Testing. BS7925- 2 (1998)

    Google Scholar 

  27. ANSI/IEEE: ANSI/IEEE standard 1008-97: IEEE Standard for software unit testing. IEEE, Los Alamitos (1987)

    Google Scholar 

  28. Rapps, S., Weyuker, E.: Selecting software test data using data flow information. IEEE Trans. Software Engineering 11, 367–375 (1995)

    Google Scholar 

  29. Weerahandi, S., Hausman, R.E.: Software quality measurement based on faultdetection data. IEEE Transactions on Software Engineering 20, 665–676 (1994)

    Article  Google Scholar 

  30. Morris, J., Lam, C.P., Lee, G.E., Parker, K., Bundell, G.: Determining component reliability using a testing index. In: Australasian Computer Science Conference (2002)

    Google Scholar 

  31. Bundell, G., Lee, G.E., Morris, J., Parker, K., Lam, C.P.: A software component verification tool. In: Software Methods & Tools (SMT 2000) (2000)

    Google Scholar 

  32. Hoffman, D., Strooper, P.: Prose + test cases = specifications. In: Li, Q., Firesmith, D., Riehle, R., Pour, G., Meyer, B. (eds.) Proceedings 34th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS34),, pp. 239–250. IEEE Computer Society, Los Alamitos (2000)

    Chapter  Google Scholar 

  33. SourceForge: JXUnit Test Scripting Language (2001). http://quickutil.sourceforge.net/view/Main/JXU

  34. JUnit: JUnit (2002), http://www.junit.org

  35. Orso, A., Harrold, M.J., Rosenblum, D.: Component metadata for software engineering tasks. In: Emmerich, W., Tai, S. (eds.) EDO 2000. LNCS, vol. 1999, pp. 129–144. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  36. Harrold, M.J., Orso, A., Rosenblum, D., Rothermel, G., Soffa, M.L., Do, H.: Using component metadata to support the regression testing of component-based software. Technical Report GIT-CC-01-38, College of Computing, Georgia Institute of Technology (2001)

    Google Scholar 

  37. Hopkins, T., Phillips, C.: Numerical methods in practice: using the NAG Library. Addison-Wesley, Reading (1988)

    MATH  Google Scholar 

  38. Firesmith, D.G.: Pattern language for testing object-oriented software. Object Magazine 5, 32–38 (1996)

    Google Scholar 

  39. Murray, L., McDonald, J., Strooper, P.: Specification-based class testing with classbench. In: Asia Pacific Software Engineering Conference, pp. 164–173. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  40. Codework Ltd: C-Cover. Codework Ltd, C/C++ coverage tool (2000)

    Google Scholar 

  41. Horgan, J.R., London, S., Lyu, M.R.: Achieving software quality with testing coverage measures. IEEE Computer 27, 60–69 (1994)

    Google Scholar 

  42. Lyu, M.R., Horgan, J.R., London, S.: A coverage analysis tool for the effectiveness of software testing. IEEE Transactions On Reliability 43, 527–535 (1994)

    Google Scholar 

  43. Software Component Laboratory: VeriLib: A Source of Reliable Components (2000), http://www.verilib.sea.net.au/

  44. Kolawa, A.: Certification will do more harm than good. IEEE Computer 35, 34–35 (2002)

    Google Scholar 

  45. Trip, L.L.: Benefits of certification. IEEE Computer 35, 31–33 (2002)

    Google Scholar 

  46. Weyuker, E.J.: The trouble with testing components. In: Heineman, G.T., Councill, W.T. (eds.) Component-Based Software Engineering: putting the pieces together. Addison-Wesley, Reading (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Morris, J., Lam, C.P., Bundell, G.A., Lee, G., Parker, K. (2003). Setting a Framework for Trusted Component Trading. In: Cechich, A., Piattini, M., Vallecillo, A. (eds) Component-Based Software Quality. Lecture Notes in Computer Science, vol 2693. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45064-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45064-1_7

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-45064-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics