Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1007/11785477_25guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Modeling runtime behavior in framework-based applications

Published: 03 July 2006 Publication History

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.

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)
[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)
[3]
Arisholm, E.: Dynamic coupling measures for object-oriented software. In: Symposium on Software Metrics. (2002)
[4]
Bellay, B., Gall, H.: An evaluation of reverse engineering tool capabilities. Journal of Software Maintenance: Research and Practice 10 (1998)
[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)
[6]
Brown, A. B., Keller, A., Hellerstein, J. L.: A model of configuration complexity and its application to a change management system. In: Integrated Management. (2005)
[7]
Coad, P., Yourdon, E.: Object-Oriented Analysis. 2 edn. Prentice-Hall, Englewood Cliffs, NJ (1991)
[8]
De Pauw, W., Mitchell, N., Robillard, M., Sevitsky, G., Srinivasan, H.: Drive-by analysis of running programs. In: Workshop on Software Visualization. (2001)
[9]
Dieckmann, S., Hlze, U.: A study of the allocation behavior of the SPECjvm98 Java benchmark. In: The European Conference on Object-Oriented Programming. (1999) 92-115
[10]
Dufour, B., Driesen, K., Verbrugge, L. J. H.C.: Dynamic metrics for java. In: Objectoriented Programming, Systems, Languages, and Applications. (2003) 149-168
[11]
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley (1994)
[12]
Gane, C., Sarson, T.: Structured Systems Analysis. Prentice-Hall, Englewood Cliffs, NJ (1979)
[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)
[15]
Mandelin, D., Xiu, L., Bodik, R., Kimmelman, D.: Mining jungloids: Helping to navigate the api jungle. In: Programming Language Design and Implementation. (2005)
[16]
Marciniak, J. J., ed.: Encyclopedia of Software Engineering. John Wiley & Sons (2004)
[17]
McCabe, T. J., Watson, A. H.: Software complexity. Crosstalk, Journal of Defense Software Engineering 7(12) (1994) 5-9
[18]
Mehta, N. R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: International Conference on Software Engineering. (2000)
[19]
Richner, T., Ducasse, S.: Using dynamic information for the iterative recovery of collaborations and roles. In: International Conference on Software Maintenance. (2002)
[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)
[21]
Sherwood, T., Perelman, E., Hamerly, G., Calder, B.: Automatically characterizing large scale program behavior. In: Architectural Support for Programming Languages and Operating Systems. (2002)
[22]
Tip, F.: A survey of program slicing techniques. Journal of Programming Languages (1995)
[23]
Walker, R. J., Murphy, G.C., Steinbok, J., Robillard, M. P.: Efficient mapping of software system traces to architectural views. In: CASCON. (2000) 31-40
[24]
Welker, K. D., Oman, P. W.: Software maintainability metrics models in practice. Crosstalk, Journal of Defense Software Engineering 8(11) (1995) 19-23

Cited By

View all
  • (2018)Darwinian data structure selectionProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236043(118-128)Online publication date: 26-Oct-2018
  • (2018)Understanding and Combating Memory Bloat in Managed Data-Intensive SystemsACM Transactions on Software Engineering and Methodology10.1145/316262626:4(1-41)Online publication date: 3-Jan-2018
  • (2016)A Cost/Benefit Approach to Performance AnalysisProceedings of the 7th ACM/SPEC on International Conference on Performance Engineering10.1145/2851553.2851558(15-26)Online publication date: 12-Mar-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
ECOOP'06: Proceedings of the 20th European conference on Object-Oriented Programming
July 2006
525 pages
ISBN:3540357262
  • Editor:
  • Dave Thomas

Sponsors

  • ILOG
  • Google Inc.
  • Sun Microsystems
  • Microsoft Research: Microsoft Research
  • IBM: IBM

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 03 July 2006

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Darwinian data structure selectionProceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3236024.3236043(118-128)Online publication date: 26-Oct-2018
  • (2018)Understanding and Combating Memory Bloat in Managed Data-Intensive SystemsACM Transactions on Software Engineering and Methodology10.1145/316262626:4(1-41)Online publication date: 3-Jan-2018
  • (2016)A Cost/Benefit Approach to Performance AnalysisProceedings of the 7th ACM/SPEC on International Conference on Performance Engineering10.1145/2851553.2851558(15-26)Online publication date: 12-Mar-2016
  • (2015)Performance analysis using subsuming methodsProceedings of the 37th International Conference on Software Engineering - Volume 210.5555/2819009.2819033(149-158)Online publication date: 16-May-2015
  • (2015)Quantitative Interprocedural AnalysisACM SIGPLAN Notices10.1145/2775051.267696850:1(539-551)Online publication date: 14-Jan-2015
  • (2015)Quantitative Interprocedural AnalysisProceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages10.1145/2676726.2676968(539-551)Online publication date: 14-Jan-2015
  • (2015)Subsuming MethodsProceedings of the 6th ACM/SPEC International Conference on Performance Engineering10.1145/2668930.2688040(175-186)Online publication date: 28-Jan-2015
  • (2014)Scalable Runtime Bloat Detection Using Abstract Dynamic SlicingACM Transactions on Software Engineering and Methodology10.1145/256004723:3(1-50)Online publication date: 2-Jun-2014
  • (2013)A bloat-aware design for big data applicationsACM SIGPLAN Notices10.1145/2555670.246648548:11(119-130)Online publication date: 20-Jun-2013
  • (2013)Combining concern input with program analysis for bloat detectionACM SIGPLAN Notices10.1145/2544173.250952248:10(745-764)Online publication date: 29-Oct-2013
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media