PyTrim: A Practical Tool for Reducing Python Dependency Bloat
This program is tentative and subject to change.
Dependency bloat is a persistent challenge in Python projects, which increases maintenance costs and security risks. While numerous tools exist for detecting unused dependencies in Python, removing these dependencies across the source code and configuration files of a project requires manual effort and expertise.
To tackle this challenge we introduce PYTRIM, an end-to-end system to automate this process. PYTRIM eliminates unused imports and package declarations across a variety of file types, including Python source and configuration files such as requirements.txt and setup.py. PYTRIM’s modular design makes it agnostic to the source of dependency bloat information, enabling integration with any detection tool. Beyond its contribution when it comes to automation, PYTRIM also incorporates a novel dynamic analysis component that improves dependency detection recall.
Our evaluation of PYTRIM’s end-to-end effectiveness on a ground-truth dataset of 37 merged pull requests from prior work, shows that PYTRIM achieves 98.3% accuracy in replicating human-made changes. To show its practical impact, we run PYTRIM on 971 open-source packages, identifying and trimming bloated dependencies in 39 of them. For each case, we submit a corresponding pull request, 6 of which have already been accepted and merged. PYTRIM is available as an open-source project, encouraging community contributions and further development.
Video demonstration: https://youtu.be/LqTEdOUbJRI
Code repository: https://github.com/TrimTeam/PyTrim
This program is tentative and subject to change.
Wed 19 NovDisplayed time zone: Seoul change
15:00 - 18:00 | |||
15:00 3hDemonstration | DSBox: A Data Selection Framework for Efficient Deep Code Learning Tool Demonstration Track | ||
15:00 3hDemonstration | OSSPREY: AI-Driven Forecasting and Intervention for OSS Project Sustainability Tool Demonstration Track Nafiz Imtiaz Khan Department of Computer Science, University of California, Davis, Priyal Soni University of California, Davis, Arjun Ashok University of California, Davis, Vladimir Filkov University of California at Davis, USA | ||
15:00 3hDemonstration | ORMorpher: An Interactive Framework for ORM Translation and Optimization Tool Demonstration Track Milan Abrahám Department of Software Engineering, Charles University, Pavel Koupil Charles University, Faculty of Mathematics and Physics | ||
15:00 3hDemonstration | PrioTestCI: Efficient Test Case Prioritization in GitHub Workflows for CI Optimization Tool Demonstration Track Shubham Vasudeo Desai North Carolina State University, Shonil Bhide North Carolina State University, Souhaila Serbout University of Zurich, Zurich, Switzerland, Luciano Marchezan DIRO, University of Montreal, Wesley Assunção North Carolina State University | ||
15:00 3hDemonstration | CLARA: A Developer’s Companion for Code Comprehension and Analysis Tool Demonstration Track Ahmed Adnan , Mushfiqur Rahman Bangladesh University of Business and Technology, saad sakib noor University of Dhaka, Kazi Sakib Institute of Information Technology, University of Dhaka | ||
15:00 3hDemonstration | CodeGenLink: A Tool to Find the Likely Origin and License of Automatically Generated Code Tool Demonstration Track Daniele Bifolco University of Sannio, Guido Annicchiarico University of Sannio, Italy, Pierluigi Barbiero University of Sannio, Italy, Massimiliano Di Penta University of Sannio, Italy, Fiorella Zampetti University of Sannio, Italy Pre-print Media Attached | ||
15:00 3hDemonstration | A Large-Scale Evolvable Dataset for Model Context Protocol Ecosystem and Security Analysis Tool Demonstration Track Zhiwei Lin National University of Singapore, Bonan Ruan National University of Singapore, Jiahao Liu National University of Singapore, Weibo Zhao National University of Singapore | ||
15:00 3hDemonstration | Evaluating Program Coverage for Code-Model Training Tool Demonstration Track | ||
15:00 3hDemonstration | BuilDroid: A Self-Correcting LLM Agent for Automated Android Builds Tool Demonstration Track Jaehyeon Kim New York University Abu Dhabi, Rui Rua New York University Abu Dhabi, Karim Ali NYU Abu Dhabi | ||
15:00 3hDemonstration | LitterBox+: An Extensible Framework for LLM-enhanced Scratch Static Code Analysis Tool Demonstration Track Benedikt Fein University of Passau, Florian Obermueller University of Passau, Gordon Fraser University of Passau Pre-print | ||
15:00 3hDemonstration | PyGress: Tool for Analyzing Progression of Code Proficiency in Python OSS Projects Tool Demonstration Track Rujiphart Charatvaraphan Faculty of Information and Communication Technology, Mahidol University, Bunradar Chatchaiyadech Faculty of Information and Communication Technology, Mahidol University, Thitirat Sukijprasert Faculty of Information and Communication Technology, Mahidol University, Chaiyong Rakhitwetsagul Mahidol University, Thailand, Morakot Choetkiertikul Mahidol University, Thailand, Raula Gaikovina Kula The University of Osaka, Thanwadee Sunetnanta Mahidol University, Kenichi Matsumoto Nara Institute of Science and Technology | ||
15:00 3hDemonstration | PyTrim: A Practical Tool for Reducing Python Dependency Bloat Tool Demonstration Track Konstantinos Karakatsanis Athens University of Economics and Business, Georgios Alexopoulos University of Athens, Ioannis Karyotakis Athens University of Economics and Business, Foivos Timotheos Proestakis Athens University of Economics and Business, Evangelos Talos Athens University of Economics and Business, Panos Louridas Athens University of Economics and Business, Dimitris Mitropoulos University of Athens | ||