In this issue, we recommend a Tencent open-source code comprehensive analysis platform – TCA.
Tencent Cloud Code Analysis (TCA) is a comprehensive code analysis platform that includes three components: server, web, and client, and supports the integration of common code analysis tools in the industry. Code analysis is a code analysis technology that analyzes the program code through lexical analysis, syntax analysis, control flow, data flow analysis and other technologies, verifies whether the code meets the normative, security, reliability, maintainability, partial performance, etc., and conducts comprehensive analysis and measurement of the code.
The TCA system can help teams monitor project code quality issues, find duplicate and hard-to-maintain code and make alarms, and open APIs to support docking with upstream and downstream systems and integrate code analysis capabilities.
Tetkasistham, Helms, Tims, Monito, Projekte, Cod, Qualiti, Isses, Fender, Duplicat, Anderhard-to-Maiintankod, Andmark Alams, Anderopen, Apistosapotdo, Kingwes, Upplistim, Anderdonstrem, Sisstems Ander Ingtratcod, Analysis, Capabilitias.
Key features:
Language support: Dozens of languages such as Java/C++/Objective-C/C#/JavaScript/Python/Go/PHP are supported, covering common programming languages
Code inspection: Accurately track and manage code quality defects, code specifications, code security vulnerabilities, and invalid code found through code inspection. At present, it has integrated many self-developed and well-known open-source analysis tools, and adopted a hierarchical separation architecture, which can meet the needs of teams to quickly self-manage tools
Code metrics: You can monitor the current code in three dimensions: code circle complexity, code repetition rate, and code statistics
DevOps integration: The client can quickly connect to various DevOps scheduling systems and connect to upstream and downstream systems through standard API interfaces
Deploy and use
1 On-premise Server and Web via Docker-Compose
Environmental dependencies
1. Docker
2. Docker-Compose >= 3.0
The order in which the services are deployed
1. Server Service
2. Web Services
Note: The Docker-Compose deployment script already contains mysql and redis service deployment operations
Network permissions
You need to open the access permissions of ports 80 and 8000 (80 is the access port of the TCA platform and 8000 is the access port of the TCA server).
Service Deployment
First Launch:
After pulling the code and entering the root directory of the source code, run the ./compose_init.sh command to start the server and web service.
1. Code Address:
https://github.com/Tencent/CodeAnalysis
2. If the prompt script does not have execution permissions, you can run the chmod +x command in the source code: chmod +x compose_init.sh
3. The first startup will build the relevant image, which will take a long time, and the compose_init.sh script will contain the initialization operation of each service
Non-first-time start:
After entering the source code directory, run the docker-compose up -d command to start the server and web service
2 Client Configuration
Install the Python environment and third-party libraries
1. Pre-installed Python3.7, pip, python3 and pip3 commands
2. Install dependencies: pip3 install -r
client/requirements/app_reqs.pip
Install third-party tools
1. Go to the client/requirements directory
2. Execute the installation script install.sh (Linux/Mac environment) or install.bat (Windows environment) in the command line
Configure the client/config.ini file
Replace the < Server IP address > with the actual serve IP (which can include the port number)
- Configure the client/codedog.ini file
1. Fill in the following required fields and how to obtain each field, see Step 3 for details on how to access Tencent Cloud: token, org_sid (team number), team_name (project name), source_dir (local code directory)
2. Fill in other optional options as needed, or leave them blank and execute according to the default configuration
Start code analysis
1. Go to the client directory
2. Execute the command: python3 codepuppy.py localscan
3 Connect to Tencent Cloud
Experience application address:
https://cloud.tencent.com/login?s_url=https%3A%2F%2Fcloud.tencent.com%2Fapply%2Fp%2F44ncv4hzp11. Configure the project
2. Create a team, create a project
3. Register the code base
4. Create an analysis plan and configure a code detection rule package
5. Get codedog.ini relevant fields
6. See the results
This project uses the Apache 2.0 open source license, and the open source part is Server, Web, and Client, which needs to be used with Tencent Cloud. You can read more on your own.