Skip to main content

Performance-Driven Interface Contract Enforcement for Scientific Components

  • Conference paper
Component-Based Software Engineering (CBSE 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4608))

Included in the following conference series:

Abstract

Several performance-driven approaches to selectively enforce interface contracts for scientific components are investigated. The goal is to facilitate debugging deployed applications built from plug-and-play components while keeping the cost of enforcement within acceptable overhead limits.

This paper describes a study of global enforcement using a priori execution cost estimates obtained from traces. Thirteen trials are formed from five, single-component programs. Enforcement experiments conducted using twenty-three enforcement policies are used to determine the nature of exercised contracts and the impact of a variety of sampling strategies. Performance-driven enforcement appears to be best suited to programs that exercise moderately expensive contracts.

This research was funded under the auspices of the U.S. Department of Energy’s Center for Technology for Advanced Scientific Component Software (TASCS) [1] of the Scientific Discovery through Advanced Computing (SciDAC) [2] program by the University of California Lawrence Livermore National Laboratory under contract number W-7405-Eng-48. UCRL-CONF-228332.

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. United States Department of Energy: TASCS Initiative: http://www.scidac.gov/compsci/TASCS.html

  2. United States Department of Energy: SciDAC Initiative. http://www.osti.gov/scidac/

  3. Meyer, B.: The grand challenge of trusted components. In: ICSE ‘03. Proceedings of the 25th International Conference on Software Engineering, Portland, OR, May 3-10, 2003, pp. 660–667 (2003)

    Google Scholar 

  4. McIlroy, M.D.: Mass produced software components. In: Proceedings of the NATO Software Engineering Conference, October 1968, pp. 138–155 (1968), Also available at http://cm.bell-labs.com/cm/who/doug/components.txt

  5. Alexeev, Y., et al.: Component-based software for high-performance scientific computing. In: SciDAC 2005. Proceedings of Scientific Discovery through Advanced Computing, San Francisco, CA, June 26-30, 2005 (2005)

    Google Scholar 

  6. Armstrong, R., Beholden, D.E., Dahlgren, T., Elswasif, W.R., Kumfert, G., McInnes, L.C., Nieplocha, J., Norris, B.: High end computing component technology (white paper). In: Workshop on the Road Map for the Revitalization of High End Computing, Washington, DC (2003)

    Google Scholar 

  7. Bernholdt, D.E., et al.: A component architecture for high-performance scientific computing. International Journal of High-Performance Computing Applications, ACTS Collection special issue (2005)

    Google Scholar 

  8. Common Component Architecture (CCA) Forum: Cca, http://www.cca-forum.org/

  9. 610.12-1990, I.S.: IEEE Standard Glossary of Software Engineering Terminology. The Institute of Electrical and Electronics Engineers, Inc., 345 East 47th Street, New York, NY 10017, USA (September 1990)

    Google Scholar 

  10. Lawrence Livermore National Laboratory: Babel. http://www.llnl.gov/CASC/components/babel.html

  11. Dahlgren, T.L., Devanbu, P.T.: Adaptable assertion checking for scientific software components. In: Proceedings of the Workshop on Software Engineering for High Performance Computing System Applications, Edinburgh, Scotland, May 24, 2004, pp. 64–69 (2004)

    Google Scholar 

  12. Dahlgren, T.L., Devanbu, P.T.: Improving scientific software component quality through assertions. In: Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, St. Louis, Missouri, May 2005, pp. 73–77 (2005)

    Google Scholar 

  13. Brown, D., Freitag, L., Glimm, J.: Creating interoperable meshing and discretization technology: The terascale simulation tools and technologies center. In: Proceedings of the 8th International Conference on Numerical Grid Generation in Computational Field Simulations, Honolulu, HI, June 3-6, 2002, pp. 57–61 (2002)

    Google Scholar 

  14. Ollivier-Gooch, C., Chand, K., Dahlgren, T., Diachin, L.F., Fix, B., Kraftcheck, J., Li, X., Seol, E., Shephard, M., Tautges, T., Trease, H.: The TSTT mesh interface. In: Proceedings of the 44th AIAA Aerospace Sciences Meeting and Exhibit, Reno, NV (January 2006)

    Google Scholar 

  15. GRUMMP — Generation and Refinement of Unstructured, Mixed-Element Meshes in Parallel. http://tetra.mech.ubc.ca/GRUMMP/ .

  16. Hoare, C.A.R.: The emperor’s old clothes. Communications of the ACM 24(2), 75–83 (1981)

    Article  Google Scholar 

  17. Floyd, R.W.: Assigning meanings to programs. In: Proceedings of the Symposia in Applied Mathematics, Mathematical aspects of Computer Science. American Mathematical Society, vol. 19, pp. 19–32 (1967)

    Google Scholar 

  18. Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580, 583 (1969)

    Article  MATH  Google Scholar 

  19. Adams, J.M., Armstrong, J., Smartt, M.: Assertional checking and symbolic execution: An effective combination for debugging. In: Proceedings of the 1979 annual conference, pp. 152–156 (1979)

    Google Scholar 

  20. Chen, W.T., Ho, J.P., Wen, C.H.: Dynamic validation of programs using assertion checking facilities. In: The IEEE Computer Society’s 2nd International Computer Software and Applications Conference, November 13-16, 1978, pp. 533–538. IEEE Computer Society Press, Los Alamitos (1978)

    Chapter  Google Scholar 

  21. Saib, S.H.: Executable assertions — an aid to reliable software. In: Proceedings of the 11th Asilomar Conference on Circuits, Systems and Computers, November 7-9, 1977, pp. 277–281 (1977)

    Google Scholar 

  22. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  23. Bronsard, F., Bryan, D., Kozaczynski, W.V., Liongosari, E.S., Ning, J.Q., Ólafsson, A., Wetterstrand, J.W.: Toward software plug-and-play. In: SSR 1997. Proceedings of the 1997 Symposium on Software Reusability, Boston, MA, May 17-20, 1997, pp. 19–29 (1997)

    Google Scholar 

  24. Kozaczynski, W.V., Ning, J.D.: Concern-driven design for a specification language supporting component-based software engineering. In: Proceedings of the 8th International Workshop on Software Specification and Design, pp. 150–154 (1996)

    Google Scholar 

  25. Object Management Group: CORBA basics. http://www.omg.org/gettingstarted/corbafaq.htm

  26. Sankar, S., Hayes, R.: ADL — an interface definition language for specifying and testing software. ACM SIGPLAN Notices, IDL Workshop 29(8), 13–21 (1994)

    Article  Google Scholar 

  27. Hamie, A.: Enhancing the object constraint language for more expressive specifications. In: APSEC 1999. Proceedings of the 6th Asia-Pacific Software Engineering Conference, December 7-10, 1999, pp. 376–383 (1999)

    Google Scholar 

  28. Verheecke, B., Straeten, R.V.D.: Specifying and implementing the operational use of constraints in object-oriented applications. In: TOOLS Pacific 2002. Proceedings of the 40th International Conference on Technology of Object-Oriented Languages and Systems, Sydney, Australia, February 2002, pp. 23–32 (2002)

    Google Scholar 

  29. Collet, P., Ozanne, A., Rivierre, N.: Enforcing different contracts in hierarchical component-based systems. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 50–65. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  30. Leavens, G.T., Rustan, K., Leino, M., Poll, E., Ruby, C., Jacobs, B.: JML: notations and tools supporting detailed design in Java. Technical Report TR 00-15, Iowa State University, Ames, Iowa (August 2000)

    Google Scholar 

  31. Edwards, S.H.: Making the case for assertion checking wrappers. In: Proceedings of the RESOLVE Workshop, Also available as Virgina Tech Technical Report TR-02-11(June 2002)

    Google Scholar 

  32. Heineman, G.T.: Integrating interface assertion checkers into component models. In: Proceedings of the 6th ICSE Workshop on Component-Based Software Engineering: Automated Reasoning and Prediction, Portland, OR, May 3-4, 2003 (2003)

    Google Scholar 

  33. Liblit, B., Aiken, A., Zen, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: PLDI 2003. Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation, San Diego, CA, June 9-11, 2003, pp. 141–154. ACM Press, New York (2003)

    Chapter  Google Scholar 

  34. Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Sampling user executions for bug isolation. In: RAMSS 2003. Proceedings of the 1st Workshop on Remote Analysis and Measurement of Software Systems, Portland, OR, May 2003, pp. 3–6 (2003)

    Google Scholar 

  35. Chilimbi, T.M., Hauswirth, M.: Low-overhead memory leak detection using adaptive statistical profiling. In: Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, MA, October 9-13, 2004, pp. 156–164 (2004)

    Google Scholar 

  36. Collet, P., Rousseau, R.: Towards efficient support for executing the object contraint language. In: TOOLS 30. Proceedings of the Technology of Object-Oriented Languages and Systems, Santa Barbara, CA, August 1-5, 1999, pp. 399–408 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Heinz W. Schmidt Ivica Crnkovic George T. Heineman Judith A. Stafford

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dahlgren, T.L. (2007). Performance-Driven Interface Contract Enforcement for Scientific Components. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds) Component-Based Software Engineering. CBSE 2007. Lecture Notes in Computer Science, vol 4608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73551-9_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73551-9_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73550-2

  • Online ISBN: 978-3-540-73551-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics