Raineraineyang.hashnode.dev·Oct 7, 2024Journey to PythonTA: The Control Flow Graph Module (Part 1)The Journey to PythonTA series aims to introduce various system components of PythonTA (https://github.com/pyta-uoft/pyta), a static code analysis tool for checking common code style errors in Python code, to new developers. In this series, in additi...36 readsPython
Tarun Sharmatapstechie.hashnode.dev·Aug 29, 2024Enhancing Python Code Quality with an Automated AnalyzerIntroduction In software development, maintaining high code quality is crucial. However, manually ensuring that every piece of code adheres to best practices can be tedious and error-prone. This is where automated code quality analyzers come into pla...41 readspython-tools
Raineraineyang.hashnode.dev·Aug 9, 2024PyTA Project: Augment CFG Edges with Z3 ConstraintsToday's task requires a combination of various components of PythonTA introduced in previous articles, including control flow graph module, Z3 visitor, and Z3 expression wrapper. In this task, we will augment each control flow graph edge with a list ...Python
Raineraineyang.hashnode.dev·Jun 19, 2024PyTA Project: Implement a Custom Checker for Inconsistent or Missing ReturnsToday's task is to implement a custom checker for inconsistent or missing return statements for PythonTA (https://github.com/pyta-uoft/pyta), as a replacement of pylint's R1710 checker. A basic introduction of how to create a custom pylint checker ca...Python
Raineraineyang.hashnode.dev·Jun 7, 2024PyTA Project: Depth-First Search for Control Flow GraphToday's task is to implement a function that takes a PythonTA control flow graph and returns all paths in the graph. In this article, I will first give an overview of modules related to control flow graph, and then provide an implementation of the fu...40 readscontrol flow graph
Raineraineyang.hashnode.dev·May 25, 2024PyTA Project: Refactoring test_check_on_dir() in test_check.pyToday's task is to refactor test_check_on_dir() function in test_check.py module for PythonTA (https://github.com/pyta-uoft/pyta). According to the instruction, the current test_check_on_dir() does two things simultaneously: testing whether python_ta...Python
Raineraineyang.hashnode.dev·May 14, 2024PyTA Project: Add Test Cases to Pycodestyle CheckerIn this task, we will improve test coverage rate of node_printer.py module in PythonTA (https://github.com/pyta-uoft/pyta) by adding unit tests to uncovered cases in Pycodestyle checker. What Does node_printers.py Module Do The module we need to test...36 readsPython
Raineraineyang.hashnode.dev·Apr 23, 2024PyTA Project: Implement a custom pylint checker for PythonTAIn this article, I will provide an overview of how Pylint static code analysis works, provide an implementation of a custom pylint checker following the example in Pylint Documentation (https://pylint.pycqa.org/en/latest/development_guide/how_tos/cus...Python
Raineraineyang.hashnode.dev·Apr 22, 2024PyTA Project: Astroid Abstract Syntax Tree NodesThis blog covers reading notes of Astroid abstract syntax tree documentation and source code, including definitions of Const, BinOp, Call, List, Expr, If, For, FunctionDef nodes (https://pylint.readthedocs.io/projects/astroid/en/latest/api/astroid.no...Python