What is it about?

Many older Python programs no longer run because they rely on outdated or conflicting versions of Python and third-party software packages. Existing AI-based approaches try different versions repeatedly, which can require many costly AI queries and still produce unreliable results. We developed SMT-LLM, a method that combines AI with mathematical constraint solving. The AI identifies likely software requirements, while the solver finds versions that can work together. This approach restores Python programs more efficiently, reduces repeated AI calls, and helps developers, researchers, and archivists reproduce and maintain older software

Featured Image

Why is it important?

Python dependency conflicts prevent many older programs from running and make software difficult to reproduce. Existing AI-based methods repeatedly guess compatible versions, which can be slow, costly, and unreliable. Our approach is important because it combines AI with formal constraint solving, using AI only when package information is missing. It resolved 83.6% of tested programs, compared with 54.8% for the previous approach, while running 6.3 times faster and requiring about 11 times fewer AI calls. This can help developers, researchers, and software archivists restore older Python code more reliably and affordably.

Perspectives

As a researcher, I was motivated by a practical problem: valuable Python programs often become unusable simply because their original software environments are no longer available. I found it especially rewarding to explore how large language models and formal constraint solving can complement each other, rather than relying on AI alone. I hope this work encourages researchers to design software-maintenance tools that are not only accurate, but also efficient, reproducible, and affordable. More broadly, I hope it helps preserve older software so that past research and development efforts remain useful instead of being lost to dependency problems.

Dipayan Banik

Read the Original

This page is a summary of: Breaking the Dependency Chaos: A Constraint-Driven Python Dependency Resolution Strategy with Selective LLM Imputation, July 2026, ACM (Association for Computing Machinery),
DOI: 10.1145/3803437.3808241.
You can read the full text:

Read

Resources

Contributors

The following have contributed to this page