Performance analysis using Subsuming Methods: an industrial case study

David Maplesden, Karl Von Randow, Ewan Tempero, John Hosking, John Grundy

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

5 Citations (Scopus)

Abstract

Large-scale object-oriented applications consist of tens of thousands of methods and exhibit highly complex runtime behaviour that is difficult to analyse for performance. Typical performance analysis approaches that aggregate performance measures in a method-centric manner result in thinly distributed costs and few easily identifiable optimisation opportunities. Subsuming methods analysis is a new approach that aggregates performance costs across repeated patterns of method calls that occur in the application's runtime behaviour. This allows automatic identification of patterns that are expensive and represent practical optimisation opportunities. To evaluate the practicality of this analysis with a real world large-scale object-oriented application we completed a case study with the developers of letterboxd.com - a social network website for movie goers. Using the results of the analysis we were able to rapidly implement changes resulting in a 54.8% reduction in CPU load and an 49.6% reduction in average response time.

Original languageEnglish
Title of host publicationProceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015, Volume 2
EditorsSebastian Elbaum, Gerardo Canfora
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages149-158
Number of pages10
Volume2
ISBN (Electronic)9781479919345
DOIs
Publication statusPublished - 2015
Externally publishedYes
EventInternational Conference on Software Engineering 2015 - Florence, Italy
Duration: 16 May 201524 May 2015
Conference number: 37th
http://2015.icse-conferences.org/

Conference

ConferenceInternational Conference on Software Engineering 2015
Abbreviated titleICSE 2015
CountryItaly
CityFlorence
Period16/05/1524/05/15
Internet address

Keywords

  • Object oriented software
  • Performance analysis
  • Runtime bloat
  • Subsuming methods

Cite this