SoftaCheck

Static Code Analysis Tool & Automated Document Generator

services

Web Development

industry

Developer Tools / SaaS

duration

1+ Years

country

Israel

SoftaCheck

Project Overview

SoftaCheck- The static code analysis tool is for individuals, teams, enterprises, who are looking for code quality software. The code analyzer is designed specifically to check issues in the C/C++ programming language. It runs code analysis using CPPCheck, Clang-Tidy, & Cloc every time when a repository is updated. The code testing tool generates a document automatically with Doxygen. A user can easily import any repository with GitHub and run an analysis against that code. An individual can also view specific issues in code and review them. One can directly open GitHub issues and ignore or exclude a specific type of issue or file for future analysis.

Overview image 1Overview image 2Overview image 3

Challenges

Scaling the Code Analysis System
The biggest challenge was to scale the code analysis system to the extent that any of the job systems can take and process parallelly.
Scaling could not degrade the overall performance of the system.
Sharing the same filesystem across multiple running instances was a significant hurdle.
Real-Time GitHub Integration
Integrating with GitHub to track every commit and pull request in real-time was complex.
Updating the status checks for commits and pull requests had to be reliable.
The integration needed to handle high volumes of events without data loss.

Our Solution

Autoscaling Watchdog Service
Developed a watchdog service which monitors available jobs in the queue at a 1-minute granularity level.
Analysis instances are deployed in an autoscaling manner based on queue load.
This ensures parallel processing without degrading overall system performance.
Distributed File System with AWS EFS
The static analysis code tool leverages the AWS EFS file system for shared storage.
This solved the issue of attaching the same filesystem to multiple instances.
Enables consistent file access across all running analysis instances.
Fault-Tolerant Webhook Service
For real-time events from Github, we took webhook into consideration.
Deployed a fault-tolerant webhook service to provide useful updates on commits and pull requests.
Ensures reliable real-time tracking of all repository changes.

Features Implemented

SoftaCheck delivers a comprehensive set of features for static code analysis, automated documentation, and GitHub workflow integration.

1. Instant Code Checking & Authentication

A user can run code analysis straight away without any authentication flow from the app. With a couple of clicks, you can get a complete overview of the code base with detailed documentation.

Instant Code Checking & Authentication

2. Comprehensive Overview of Your Codebase

Get an overview of code quality for the whole project, recent commits, and the newly made Pull Requests. A user can get a complete analysis report based on issues in code with relevant code snippets. Users can open issues directly from here error/warning in code.

Comprehensive Overview of Your Codebase

3. Manages Workflow by Fixing Necessary Issues

SoftaCheck will track all the issues that are created or fixed for every commit and pull request. One can have a complete insight into all the issues within a specific branch and also check the details for the same.

Manages Workflow by Fixing Necessary Issues

4. Seamless Workflow

A user can create and track issues directly from code files or project issues. Softacheck will seamlessly update the status and check for Github pull requests.

Seamless Workflow

5. Automated Code Documentation

A user can get detailed code documentation of the code which he can view and share. The code documentation is completely automated. The user can control the same with Doxygen configuration.

Automated Code Documentation

Technology Stack

SoftaCheck is built on a modern cloud-native architecture using Node.js, React, and AWS services for scalability and reliability.

Backend Server

Node.js, AdonisJs

Frontend

React JS

Database

AWS RDS (MySQL)

Server Stack

Docker, AWS ECS

Cloud Stack

AWS

Ci/Cd

Gitlab, Gitlab Registry, AWS ECR

Quality Tool

CppCheck , Clang-Tidy , Doxygen

Load Balancer

Nginx , AWS Application Load Balancer

Notifications

AWS Simple Notification Service , Mailchimp

Conclusion

SoftaCheck demonstrates how a well-architected static code analysis platform can automate code quality checks and documentation generation for C/C++ projects. By building an autoscaling analysis engine with AWS EFS and fault-tolerant GitHub webhooks, WebMob Technologies delivered a tool that serves individuals, teams, and enterprises looking to improve their code quality workflow.

READY TO BUILD YOUR OWN DEVELOPER TOOL ?

Let us help you design and deliver a production-grade developer tool tailored to your workflow.

More Projects

Case study image

Bounty Board

Reward-based platform for creating, managing, and completing bounties.

Case study image

Baller

A social networking app for basketball players to search courts, meet players and plan their games.

Case study image

Alston Explorer

Gamified exploration app showcasing Alston’s history and natural heritage.

Case study image

Hindeep

Dating app matching users based on personality traits and compatibility.

Case study image

Gas Drop

On-demand fuel delivery app with tracking, scheduling, and payments.