Software Bloat Analysis: Detecting, Removing, and Preventing Performance Problems in Modern Large- Scale Object-Oriented Applications Guoqing Xu, Nick.

Slides:



Advertisements
Similar presentations
Uncovering Performance Problems in Java Applications with Reference Propagation Profiling PRESTO: Program Analyses and Software Tools Research Group, Ohio.
Advertisements

Runtime Techniques for Efficient and Reliable Program Execution Harry Xu CS 295 Winter 2012.
OOPSLA 2005 Workshop on Library-Centric Software Design The Diary of a Datum: An Approach to Modeling Runtime Complexity in Framework-Based Applications.
Efficient, Context-Sensitive Dynamic Analysis via Calling Context Uptrees Jipeng Huang, Michael D. Bond Ohio State University.
Go with the Flow: Profiling Copies to Find Run-time Bloat Guoqing Xu, Matthew Arnold, Nick Mitchell, Atanas Rountev, Gary Sevitsky Ohio State University.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
A Regression Test Selection Technique for Aspect- Oriented Programs Guoqing Xu The Ohio State University
Towards Autonomic Adaptive Scaling of General Purpose Virtual Worlds Deploying a large-scale OpenSim grid using OpenStack cloud infrastructure and Chef.
JOLT: REDUCING OBJECT CHURN AJ Shankar, Matt Arnold, Ras Bodik UC Berkeley, IBM Research | OOPSLA
PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Precise Memory Leak Detection for Java Software Using Container Profiling.
Guoquing Xu, Atanas Rountev Ohio State University Oct 9 th, 2008 Presented by Eun Jung Park.
LOW-OVERHEAD MEMORY LEAK DETECTION USING ADAPTIVE STATISTICAL PROFILING WHAT’S THE PROBLEM? CONTRIBUTIONS EVALUATION WEAKNESS AND FUTURE WORKS.
CORK: DYNAMIC MEMORY LEAK DETECTION FOR GARBAGE- COLLECTED LANGUAGES A TRADEOFF BETWEEN EFFICIENCY AND ACCURATE, USEFUL RESULTS.
1 Practical Object-sensitive Points-to Analysis for Java Ana Milanova Atanas Rountev Barbara Ryder Rutgers University.
Testing and Analysis of Device Drivers Supervisor: Abhik Roychoudhury Author: Pham Van Thuan 1.
Finding Low-Utility Data Structures Guoqing Xu 1, Nick Mitchell 2, Matthew Arnold 2, Atanas Rountev 1, Edith Schonberg 2, Gary Sevitsky 2 1 Ohio State.
Memory Redundancy Elimination to Improve Application Energy Efficiency Keith Cooper and Li Xu Rice University October 2003.
Laboratory for Computer Science Massachusetts Institute of Technology Ownership Types for Safe Region-Based Memory Management in Real-Time Java Chandrasekhar.
LeakChaser: Helping Programmers Narrow Down Causes of Memory Leaks Guoqing Xu, Michael D. Bond, Feng Qin, Atanas Rountev Ohio State University.
CS590 Z Software Defect Analysis Xiangyu Zhang. CS590F Software Reliability What is Software Defect Analysis  Given a software program, with or without.
PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Regression Test Selection for AspectJ Software Guoqing Xu and Atanas.
Detecting Inefficiently-Used Containers to Avoid Bloat Guoqing Xu and Atanas Rountev Department of Computer Science and Engineering Ohio State University.
CACHETOR Detecting Cacheable Data to Remove Bloat Khanh Nguyen Guoqing Xu UC Irvine USA.
Modeling Public Pensions with Mathematica and Python II
Precise Memory Leak Detection for Java Software Using Container Profiling Guoqing Xu, Atanas Rountev Program analysis and software tools group Ohio State.
Research Area B Leif Kobbelt. Communication System Interface Research Area B 2.
Foundations of Programming Languages – Course Overview Xinyu Feng Acknowledgments: some slides taken or adapted from lecture notes of Stanford CS242
GrIDS -- A Graph Based Intrusion Detection System For Large Networks Paper by S. Staniford-Chen et. al.
Analyzing Large-Scale Object-Oriented Software to Find and Remove Runtime Bloat Guoqing Xu CSE Department Ohio State University Ph.D. Thesis Defense Aug.
Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan.
Chameleon Automatic Selection of Collections Ohad Shacham Martin VechevEran Yahav Tel Aviv University IBM T.J. Watson Research Center Presented by: Yingyi.
Detecting Performance Design and Deployment AntiPatterns in Enterprise Systems Trevor Parsons Performance Engineering Laboratory.
Speculative Region-based Memory Management for Big Data Systems Khanh Nguyen, Lu Fang, Harry Xu, Brian Demsky Donald Bren School of Information and Computer.
Proximity Generation for Location- Based Mobile Applications “... meanwhile, back at the server.” Jim Wyse Canadian Information Processing Society NL,
Effective Interprocedural Resource Leak Detection ICSE 10 Emina Torlak Satish Chandra IBM T.J. Watson Research Center, USA.
Static Detection of Loop-Invariant Data Structures Harry Xu, Tony Yan, and Nasko Rountev University of California, Irvine Ohio State University 1.
Allen D. Malony Department of Computer and Information Science TAU Performance Research Laboratory University of Oregon Discussion:
PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Merging Equivalent Contexts for Scalable Heap-cloning-based Points-to.
Department of Computer Sciences ISMM No Bit Left Behind: The Limits of Heap Data Compression Jennifer B. Sartor* Martin Hirzel †, Kathryn S. McKinley*
Parallelism without Concurrency Charles E. Leiserson MIT.
CoCo: Sound and Adaptive Replacement of Java Collections Guoqing (Harry) Xu Department of Computer Science University of California, Irvine.
Detecting Inefficiently-Used Containers to Avoid Bloat Guoqing Xu and Atanas Rountev Department of Computer Science and Engineering Ohio State University.
CSE 598c – Virtual Machines Survey Proposal: Improving Performance for the JVM Sandra Rueda.
Mobility-Supporting Data Management for Location-Based Mobile Systems (LBMS) Manageability, Scalability, and Proximity Generation Performance of Server-Based.
Software Development Introduction
Features Of SQL Server 2000: 1. Internet Integration: SQL Server 2000 works with other products to form a stable and secure data store for internet and.
Performance Problems You Can Fix: A Dynamic Analysis of Memoization Opportunities Luca Della Toffola – ETH Zurich Michael Pradel – TU Darmstadt Thomas.
5/7/03ICSE Fragment Class Analysis for Testing of Polymorphism in Java Software Atanas (Nasko) Rountev Ohio State University Ana Milanova Barbara.
Object Naming Analysis for Reverse- Engineered Sequence Diagrams Atanas (Nasko) Rountev Beth Harkness Connell Ohio State University.
Conditionally Correct Superoptimization Rahul Sharma, Eric Schkufza, Berkeley Churchill, Alex Aiken (Stanford University)
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Precisely Selecting Regression Test for Aspect-Oriented Programs Guoqing Xu The Ohio State University
MSP’05 1 Gated Memory Control for Memory Monitoring, Leak Detection and Garbage Collection Chen Ding, Chengliang Zhang Xipeng Shen, Mitsunori Ogihara University.
Making k-Object-Sensitive Pointer Analysis More Precise with Still k-Limiting Tian Tan, Yue Li and Jingling Xue SAS 2016 September,
Dynamo: A Runtime Codesign Environment
No Bit Left Behind: The Limits of Heap Data Compression
CARP: Context-Aware Reliability Prediction of Black-Box Web Services
Parallel Algorithm Design
Points-to Analysis for Java Using Annotated Constraints
CACHETOR Detecting Cacheable Data to Remove Bloat
Yak: A High-Performance Big-Data-Friendly Garbage Collector
Introduction to Computer Systems Engineering
Detecting Targeted Attacks Using Shadow Honeypots
Jipeng Huang, Michael D. Bond Ohio State University
Academic Perspectives
Demand-Driven Context-Sensitive Alias Analysis for Java
No Bit Left Behind: The Limits of Heap Data Compression
CS 239 – Big Data Systems Fall 2018
Pointer analysis John Rollinson & Kaiyuan Li
Presentation transcript:

Software Bloat Analysis: Detecting, Removing, and Preventing Performance Problems in Modern Large- Scale Object-Oriented Applications Guoqing Xu, Nick Mitchell, Matthew Arnold, Atanas Rountev, Gary Sevitsky Ohio State University IBM T. J. Watson Research

Large-Scale Object-Oriented Software * Large libraries 2 SAP Netweaver App server *Framework-intensive applications

Runtime Bloat Can be Seen Regularly Example: – A system designed to support a million concurrent users can scale only to thousands of users in practice Consequences – Over-consumed memory – Unacceptable running/response time – Significantly-reduced scalability – Unnecessary system upgrades ($ is wasted!!!) Can it be solved by improved hardware/multicore? 3 OutofMemory Slowdown Non-scalable

A Software Engineering Problem Performance problem detection – Profiling [ Xu et al. ICSE’08, PLDI’09, PLDI’10-a, Novark et al. PLDI’09, Arnold and Ryder PLDI’00, Arnold et al. OOPSLA’08 ] – Heap dump analysis [ Mitchell and Sevitsky OOPSLA’07, Altman et al. OOPSLA’10 ] – Static/dynamic analysis [ Xu and Rountev PLDI’10-b, Dufour et al. ISSTA’07, FSE’08 ] – Testing (e.g., worst-case compl. testing [ Burnim et al. ICSE’09 ] ) Performance problem removal – Static transformation [ Dolby and Chien PLDI’00, Xu TR’10 ] – Dynamic optimization [ Arnold et al. OOPSLA’00, IEEE 05 ] Performance problem prevention – What design principles cause the problem? 4

Future Directions  Design – Performance-conscious design models (e.g., thin patterns) – Tools that can evaluate the performance of different designs Testing and analysis – Performance specification – Unit testing performance problems  Self-adjusting system that removes bloat – Compiler optimizations that target specific bloat patterns Synthesis of bloat-free implementations 5

Thank you 6