As software projects grow in complexity, they come packaged with under-utilized libraries and therefore become bloated. Though several software debloating tools exist, none of them help developers gain insights into how under-utilized those libraries are nor help developers build confidence in the behavior preservation of software after debloating. To bridge this gap, we developed WebJShrink, a visual analytics tool for analyzing and pruning bloated software projects. WebJShrink is built on JShrink which uses static and dynamic reachability analysis to determine the extent of software bloat. WebJShrink provides rich visualizations of the bloat lurking within a target project's internal structure. It then removes unused features, and returns a safer, slimmer variant of the software project. To illustrate the target project's behavior preservation, WebJShrink examines the debloated software with its JUnit tests and visualizes the test results. In evaluating WebJShrink against 26 real world systems, we found WebJShrink could reduce software size by up to 42%, 11% on average, while still passing 100% of unit tests after debloating. We provide a video demonstrating WebJShrink at https://youtu.be/yzVzcd-MJ1w.
Tue 10 NovDisplayed time zone: (UTC) Coordinated Universal Time change
01:00 - 01:30 | |||
01:00 2mTalk | A Behavioral Notion of Robustness for Software Systems Research Papers Changjian Zhang Carnegie Mellon University, USA, David Garlan Carnegie Mellon University, USA, Eunsuk Kang Carnegie Mellon University, USA Link to publication DOI Media Attached | ||
01:03 1mTalk | C2S: Translating Natural Language Comments to Formal Program Specifications Research Papers Juan Zhai Rutgers University, USA, Yu Shi Purdue University, USA, Minxue Pan Nanjing University, China, Guian Zhou Nanjing University, China, Yongxiang Liu Nanjing University, China, Chunrong Fang Nanjing University, China, Shiqing Ma Rutgers University, USA, Lin Tan Purdue University, USA, Xiangyu Zhang Purdue University DOI | ||
01:05 1mTalk | Detecting and Understanding JavaScript Global Identifier Conflicts on the Web Research Papers Mingxue Zhang Chinese University of Hong Kong, China, Wei Meng Chinese University of Hong Kong, China DOI | ||
01:07 1mTalk | PAClab: A Program Analysis Collaboratory Tool Demos Rebecca Brunner Bowling Green State University, USA, Robert Dyer University of Nebraska - Lincoln, Maria Paquin Boise State University, Elena Sherman Boise State University DOI | ||
01:09 1mTalk | Towards Learning Visual Semantics Visions and Reflections Haipeng Cai Washington State University, USA, Shiv Raj Pant Washington State University, USA, Wen Li DOI | ||
01:11 1mTalk | WebJShrink: A Web Service for Debloating Java Bytecode Tool Demos Konner Macias University of California at Los Angeles, USA, Mihir Mathur University of California, Los Angeles, Bobby Bruce University of California at Davis, USA, Tianyi Zhang Harvard University, USA, Miryung Kim University of California at Los Angeles, USA DOI | ||
01:13 17mTalk | Conversations on Analysis 1 Research Papers Juan Zhai Rutgers University, USA, Changjian Zhang Carnegie Mellon University, USA, Konner Macias University of California at Los Angeles, USA, Haipeng Cai Washington State University, USA, Mingxue Zhang Chinese University of Hong Kong, China, Robert Dyer University of Nebraska - Lincoln, M: Shin Hwei Tan Southern University of Science and Technology |