Matthews, C. E. (2021), Python Errors When Migrating from v2 to v3, April 8, 2021.
Software failure diagnosis is a complex task. However, there are times when this task complexity can be significantly reduced. One example when diagnostic tasks are simpler than normal is when the application design remains unchanged, but errors occur because the underlying language compiler/interpreter undergoes a version change. This report documents errors in a software package that resulted from changing the version of Python that executed the application. There was no change to the application design. Only the Python version change caused the application errors. It is instructive to analyze the errors that occurred and the methods that one can use to find them efficiently.
By analyzing the types of errors that occurred, a clever developer could devise ways to improve the diagnostic task for other environmental changes as well. Changes that could cause similar types of errors are: a) the version of a component library changes, b) the interface for a connected device changes, c) the application migrates to a different platform, etc.