Skip to main content

Modeling Runtime Behavior in Framework-Based Applications

  • Conference paper
ECOOP 2006 – Object-Oriented Programming (ECOOP 2006)

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

Included in the following conference series:

Abstract

Our research group has analyzed many industrial, framework-based applications. In these applications, simple functionality often requires excessive runtime activity. It is increasingly difficult to assess if and how inefficiencies can be fixed. Much of this activity involves the transformation of information, due to framework couplings. We present an approach to modeling and quantifying behavior in terms of what transformations accomplish.

We structure activity into dataflow diagrams that capture the flow between transformations. Across disparate implementations, we observe commonalities in how transformations use and change their inputs. We introduce vocabulary of common phenomena of use and change, and four ways to classify data and transformations using this vocabulary. The structuring and classification enable evaluation and comparison in terms abstracted from implementation specifics. We introduce metrics of complexity and cost, including behavior signatures that attribute measures to phenomena. We demonstrate the approach on a benchmark, a library, and two industrial applications.

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. Alexander, W.P., Berry, R.F., Levine, F.E., Urquhart, R.J.: A unifying approach to performance analysis in the java environment. IBM Systems Journal 39(1) (2000)

    Google Scholar 

  2. Ammons, G., Choi, J., Gupta, M., Swamy, N.: Finding and removing performance bottlenecks in large systems. In: The European Conference on Object-Oriented Programming (2004)

    Google Scholar 

  3. Arisholm, E.: Dynamic coupling measures for object-oriented software. In: Symposium on Software Metrics (2002)

    Google Scholar 

  4. Bellay, B., Gall, H.: An evaluation of reverse engineering tool capabilities. Journal of Software Maintenance: Research and Practice 10 (1998)

    Google Scholar 

  5. Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H.F., Thatte, S., Winer, D.: Simple object access protocol (SOAP) 1.1. Technical Report 08, W3C World Wide Web Consortium (2000)

    Google Scholar 

  6. Brown, A.B., Keller, A., Hellerstein, J.L.: A model of configuration complexity and its application to a change management system. Integrated Management (2005)

    Google Scholar 

  7. Coad, P., Yourdon, E.: Object-Oriented Analysis, 2nd edn. Prentice-Hall, Englewood Cliffs (1991)

    Google Scholar 

  8. De Pauw, W., Mitchell, N., Robillard, M., Sevitsky, G., Srinivasan, H.: Drive-by analysis of running programs. In: Workshop on Software Visualization (2001)

    Google Scholar 

  9. Dieckmann, S., Hlze, U.: A study of the allocation behavior of the SPECjvm98 Java benchmark. In: The European Conference on Object-Oriented Programming, pp. 92–115 (1999)

    Google Scholar 

  10. Dufour, B., Driesen, K., Verbrugge, L.J.H.C.: Dynamic metrics for java. In: Object-oriented Programming, Systems, Languages, and Applications, pp. 149–168 (2003)

    Google Scholar 

  11. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)

    Google Scholar 

  12. Gane, C., Sarson, T.: Structured Systems Analysis. Prentice-Hall, Englewood Cliffs (1979)

    Google Scholar 

  13. IBM: Trade web application benchmark, http://www.ibm.com/software/webservers/appserv/wpbs_download.html

  14. Kuncak, V., Lam, P., Rinard, M.: Role analysis. In: Symposium on Principles of Programming Languages (2002)

    Google Scholar 

  15. Mandelin, D., Xiu, L., Bodik, R., Kimmelman, D.: Mining jungloids: Helping to navigate the api jungle. In: Programming Language Design and Implementation (2005)

    Google Scholar 

  16. Marciniak, J.J. (ed.): Encyclopedia of Software Engineering. John Wiley & Sons, Chichester (2004)

    Google Scholar 

  17. McCabe, T.J., Watson, A.H.: Software complexity. Crosstalk, Journal of Defense Software Engineering 7(12), 5–9 (1994)

    Google Scholar 

  18. Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: International Conference on Software Engineering (2000)

    Google Scholar 

  19. Richner, T., Ducasse, S.: Using dynamic information for the iterative recovery of collaborations and roles. In: International Conference on Software Maintenance (2002)

    Google Scholar 

  20. Sevitsky, G., De Pauw, W., Konuru, R.: An information exploration tool for performance analysis of java programs. In: TOOLS Europe 2001, Zurich, Switzerland (2001)

    Google Scholar 

  21. Sherwood, T., Perelman, E., Hamerly, G., Calder, B.: Automatically characterizing large scale program behavior. Architectural Support for Programming Languages and Operating Systems (2002)

    Google Scholar 

  22. Tip, F.: A survey of program slicing techniques. Journal of Programming Languages (1995)

    Google Scholar 

  23. Walker, R.J., Murphy, G.C., Steinbok, J., Robillard, M.P.: Efficient mapping of software system traces to architectural views. In: CASCON, pp. 31–40 (2000)

    Google Scholar 

  24. Welker, K.D., Oman, P.W.: Software maintainability metrics models in practice. Crosstalk, Journal of Defense Software Engineering 8(11), 19–23 (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mitchell, N., Sevitsky, G., Srinivasan, H. (2006). Modeling Runtime Behavior in Framework-Based Applications. In: Thomas, D. (eds) ECOOP 2006 – Object-Oriented Programming. ECOOP 2006. Lecture Notes in Computer Science, vol 4067. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11785477_25

Download citation

  • DOI: https://doi.org/10.1007/11785477_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35726-1

  • Online ISBN: 978-3-540-35727-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics