Our technology stack

Explore the Core Technologies Powering Our Solutions

Git iconPython iconRabbitMQ iconUbuntu iconMicrosoft iconApache iconMySQL iconJava icon

SonarQube

It is an open-source platform used for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities.

DevSecOps

DevOps is complementary with Agile software development that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. At ACS, we base our policy on ensuring security from the development environment straight to production by reducing manual tasks as much as possible in our development workflow by enforcing automation.

Code Review

It is the act of consciously and systematically convening with one’s fellow programmers to check each other’s code for mistakes, and has been repeatedly shown to accelerate and streamline the process of software development like few other practices can.

Pair Programming

As an agile organisation, this is one of our software development techniques in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently. ACS implements this concept in its software development to ensure quality & efficiency in code development while maintaining a high level of quality in software development.

Automated Unit Testing

Some of the testing frameworks we use in our day-to- day development are: JUnit, Mockito and Espresso, used for writing our unit and UI tests on android platform. XCTest, and XCUITest for writing our unit and UI tests on iOS platform.

Code Analysis

All finished work is statically analysed by SonarQube to make sure security and technical standards are compiled with, and making sure minimum test coverage is achieved. Only valid artefacts pass on into the next stage of the pipeline. The code is further reviewed by a peer to make sure it does what it is supposed to before being approved into the build pipeline. The build pipeline builds the code files, runs the tests publishes the code coverage results (into our SonarQube dashboard for analytics purposes), and then generates assets that will be consumed later by the deployment pipeline.

Error Detection and Handling

While running an analysis, SonarQube raises an issue everytime a piece of code breaks a coding rule. The set of coding rules is defined through the associated Quality Profile for each language in the project. These results are published and common mitigation procedures suggested for resolution.