dc.description.abstract | Language supports for immutability in programming languages can benefit the software development process,
especially in imperative object-oriented programming languages.
By enforcing immutability and restricting the modification of objects′ states,
it becomes easier to understand the program′s execution flow.
When used appropriately, immutability can also reduce the time spent on finding and fixing program errors.
For programming languages with limited support for immutability,
there has been research in the past on introducing new types or annotations within the language′s type or annotation system.
These additions aim to mark the immutability of variables, functions, classes, and other structures.
Although Python already supports the creation of immutable classes and the type hints of partial immutable types,
there are still some challenges in practice that make it less straightforward.
Therefore, this research introduces a new type hint in Python called "Frozen."
By applying the "Frozen" to variables, parameters, attributes, and other identifiers, static analysis tools can be used to detect
if these variables are used to modify their corresponding objects.
This approach makes the software development process smoother. | en_US |