This version adds new facilities for reverse-engineering Python and Pascal code to create models, and to refactor specifications to remove flaws such as excessive statement nesting depth and excessive parameter lists. A powerful type-inference facility is added to support the translation of Python and JS code to typed languages such as Java. The CSTL/CGTL language for defining code generators and abstractors has been further developed. A significant application is the MathApp (mathapp.jar) for financial specification and implementation, using CSTL for algebraic simplification. Output of models in PlantUML format is also added.