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 Nov Times are displayed in time zone: (UTC) Coordinated Universal Time change
01:00 - 01:30: Analysis 1Paper Presentations / Research Papers / Tool Demos / Visions and Reflections at Virtual room 2 | |||
01:00 - 01:02 Talk | A Behavioral Notion of Robustness for Software Systems Research Papers Changjian ZhangCarnegie Mellon University, USA, David GarlanCarnegie Mellon University, USA, Eunsuk KangCarnegie Mellon University, USA Link to publication DOI Media Attached | ||
01:03 - 01:04 Talk | C2S: Translating Natural Language Comments to Formal Program Specifications Research Papers Juan ZhaiRutgers University, USA, Yu ShiPurdue University, USA, Minxue PanNanjing University, China, Guian ZhouNanjing University, China, Yongxiang LiuNanjing University, China, Chunrong FangNanjing University, China, Shiqing MaRutgers University, USA, Lin TanPurdue University, USA, Xiangyu ZhangPurdue University DOI | ||
01:05 - 01:06 Talk | Detecting and Understanding JavaScript Global Identifier Conflicts on the Web Research Papers DOI | ||
01:07 - 01:08 Talk | PAClab: A Program Analysis Collaboratory Tool Demos Rebecca BrunnerBowling Green State University, USA, Robert DyerUniversity of Nebraska - Lincoln, Maria PaquinBoise State University, Elena ShermanBoise State University DOI | ||
01:09 - 01:10 Talk | Towards Learning Visual Semantics Visions and Reflections DOI | ||
01:11 - 01:12 Talk | WebJShrink: A Web Service for Debloating Java Bytecode Tool Demos Konner MaciasUniversity of California at Los Angeles, USA, Mihir MathurUniversity of California, Los Angeles, Bobby BruceUniversity of California at Davis, USA, Tianyi ZhangHarvard University, USA, Miryung KimUniversity of California at Los Angeles, USA DOI | ||
01:13 - 01:30 Talk | Conversations on Analysis 1 Research Papers Juan ZhaiRutgers University, USA, Changjian ZhangCarnegie Mellon University, USA, Konner MaciasUniversity of California at Los Angeles, USA, Haipeng CaiWashington State University, USA, Mingxue ZhangChinese University of Hong Kong, China, Robert DyerUniversity of Nebraska - Lincoln, M: Shin Hwei TanSouthern University of Science and Technology |