Skip to content
05.22.24 17 min read

#012: Are you using AI to Code better?

#012: Are you using AI to Code better? Better yet, you can comply with GxP!

I have audited more than 100+ technology companies worldwide. The common pitfall is implementing coding standards that support the best software development practices while automatically complying with the expectations of GxP. I am talking about Code Security, Coding Standards, Commenting Standards, Code Traceability, Code Dependency Diagramming, Change IMpact Analysis, Unit Testing, Code Analysis, Code Reviews, etc.. wrapped into every developer’s mindset with consistency. If you disagree with me, please ping me on LinkedIn with your comments.

We would like to help anyone developing code that needs to comply with GxP. This is the motivation for this newsletter article. We would like to let you know that AI can be your best buddy doing a lot heavy lifting while you look a superhero. If you are already using such tools, please let me know your thoughts.

There are many tools: Sourcegraph, Codium, Cody, Codeium, Tabnine, Refact, Genieai, Wizi, AWS CodeWhisperer. My team took a vote and decided to pick the champion: CodiumAI.

Introduction to Codium

Codium is a versatile, open-source variant of Visual Studio Code, offering developers a platform for efficient and flexible coding. Built on the foundation of Visual Studio Code, Codium provides the same powerful features and extensibility while maintaining a focus on transparency and community-driven development.

  • Open-Source Foundation: Codium is built on the same open-source foundation as Visual Studio Code, ensuring reliability, flexibility, and community-driven development. 

  • Lightweight and Fast: With a focus on performance, Codium delivers a lightweight and fast IDE experience, allowing developers to code with speed and efficiency. 

  • Customizable: Codium offers extensive customization options, allowing developers to tailor the IDE to their specific preferences and workflows with a wide range of extensions and themes. 

  • Telemetry-Free: Unlike official VS Code builds, Codium is telemetry-free, prioritizing user privacy and data security. 

  • Cross-Platform: Codium is available for Windows, macOS, and Linux, ensuring a consistent development experience across different operating systems. 

  • Community Support: With a vibrant community of developers and contributors, Codium benefits from continuous improvements, bug fixes, and new features driven by user feedback.

CodiumAI Security 

Data security and privacy are top priorities for CodiumAI. Through a variety of security methods, such as 2-way encryption, SOC2 Type II certification, secret obfuscation, and TLS/SSL for safe payment, it guarantees the protection of customer data.

CodiumAI's stringent rules and technology demonstrate a strong commitment to data privacy and user information protection. Users can contact CodiumAI to opt out of having their data used for model training. Additionally, premium customers' data is never utilized for AI model training, protecting their privacy and confidentiality. 

Adherence to Corporate Coding Standards 

CodiumAI's code integrity functions aid in ensuring compliance with business coding guidelines.

CodiumAI's code integrity tools check that code follows standards, best practices, and established templates by meticulously going over codebases. This keeps the organization's and the project's coding procedures uniform.

By assisting developers in creating codebases that are cleaner, more manageable, and compliant with industry standards, CodiumAI's code integrity capabilities enhance code quality and reliability.

In addition to lowering the chance of software malfunctions or security breaches, this also lowers technical debt. Also, the code optimization tools in CodiumAI examine current codebases, spot inefficiencies, and recommend changes that will improve readability, efficiency, and maintainability. This is very helpful when optimizing complicated algorithms or reworking legacy code to conform to corporate coding requirements. 

 Commenting Standards 

CodiumAI's PR-Agent feature facilitates thorough comments during code reviews.

PR-Agent supports several comments on each line, in contrast to GitHub Copilot's restriction of one comment per line. This makes it possible for teams and engineers to debate enhancements, give thorough feedback, and iterate on code changes more successfully.

The collaborative nature of software development is aligned with PR-Agent's support for robust commenting, which promotes clearer communication and facilitates comprehensive code reviews.

PR-Agent promotes a more thorough discussion of code modifications by allowing developers to leave many comments per line, which results in higher-quality code that complies with corporate coding standards.

Additionally, PR-Agent's automated code review features aid in guaranteeing that the code complies with pre-established commenting guidelines. Through the examination of code, docstrings, and comments, PR-Agent can pinpoint instances in which commenting is deficient or irregular and offer recommendations for enhancement. By doing this, the codebase's commenting style is kept uniform, which facilitates developers' understanding and ongoing maintenance of the code. 

Code Traceability 

CodiumAI's code integrity features provide thorough code tracing. The links between different software artifacts, such as requirements, design components, and test cases, can be determined by CodiumAI through the analysis of code, docstrings, and comments. This makes it easier to make sure that the design, implementation, and testing components for each need are appropriate and cohesive.

Due to CodiumAI's code traceability features, developers can:

  • Guarantee that all requirements are covered in testing. 
  • Promptly determine which tests might be affected by requirements changes. 
  • Establish which requirements have been tried and which ones need more work. 
  • Reduce potential barriers to enable effective change management. 

Additionally, CodiumAI is integrated with other software development tools, including platforms for managing requirements, version control, and testing. This guarantees a thorough and current traceability matrix by facilitating the easy tracking of requirements, code modifications, and test cases.

CodiumAI helps engineers stay in sync with corporate objectives, improve teamwork, and confidently produce high-quality software by promoting code traceability. Code traceability is still an essential component of effective product delivery, even as software development processes change. 

Code dependency diagrams 

CodiumAI's code dependency diagrams explain how separate modules, functions, or classes depend on one another and give a visual depiction of the relationships between the various parts of a software project.

These diagrams, which CodiumAI generates by analyzing the source, aid developers in better understanding the relationships between components inside their code and enable better code structure, maintenance, and refactoring.

With the use of these diagrams, developers can see how various portions of the code interact clearly, which helps them spot potential issues, optimize the code, and make sure that changes made to one area of the codebase don't unintentionally affect other areas. CodiumAI helps developers gain insight into the structure of their software projects, write cleaner code, and expedite development processes by visualizing code dependencies. 

Change Impact Analysis 

Comprehensive change impact analysis is made possible by CodiumAI's code integrity features. CodiumAI can determine the possible effects of modifications to one section of the code on other modules or dependencies by examining the connections between the various parts of the codebase.

When reworking code, updating dependencies, or changing the architecture, this feature is especially helpful. Using change effect analysis, CodiumAI assists developers in: 

  • Immediately determine which tests might be affected by modifications to the code or requirements.
  • Identify the areas of the codebase that a specific change affects.
  • Before implementing a suggested modification, evaluate its risk and scope.
  • Set testing priorities according to the possible effects of changes. 

CodiumAI gives developers a clear knowledge of how changes spread throughout the codebase, which helps them make well-informed decisions, reduce unintended consequences, and guarantee the safe and effective rollout of software updates. This feature helps decrease technical debt, increase the quality of the code, and implement change management procedures that are more successful. 

Unit Testing 

CodiumAI is a plugin that offers a comprehensive unit testing feature for various types of code, including classes, functions, and code snippets. It is designed to automate the test creation process, saving time and effort for developers. The plugin is currently available for use in the VS Code editor.

Generating Tests

Users can select a code snippet, do a right-click, and select "CodiumAI - Generate tests" to initiate the CodiumAI test generation process. This will point them in the direction of the CodiumAI editor, which offers a test suite with recommended tests. Every test case has an objective, a name, a tag identifying the kind of test , and the pertinent test code. 

Customizing the Test Suite

Users can tailor their test suite to meet their requirements with CodiumAI. In addition to adding sample tests, they can decide how many tests their code needs and choose a testing framework. You have a choice of one to twelve test situations. To enhance focused and isolated testing of functionalities, users can additionally enable or disable mocks by toggling the auto-mock button. Mocks substitute real implementations with curated or simplified ones.

Enhancing Tests

Among the capabilities that CodiumAI offers to improve tests is the ability to communicate with the TestGPT model and submit modifications to the test code. In a chat window, users can input the modifications they wish to make to the test code and then click the send button. After that, the TestGPT model will analyze the data and modify the test code as necessary. 

Deleting Tests

Users have the option to remove test cases from the test suite that they no longer require. When their test suite is finished, they may run the tests to see if they pass or fail, making sure their code is functional and accurate.

Other Features

Code recommendations from the TestGPT model to enhance code accuracy and performance are among the extra services that CodiumAI provides. Insights about their code and recommendations for changes are also available to users via the "Code Analysis" tab.

Developers may create thorough test suites for their code using CodiumAI's unit testing tool in Rider (JetBrains IDE), modify the tests to suit their requirements, and improve the tests using the TestGPT model. The plugin's automated test development process and insights for code improvements are intended to enhance code quality and dependability.

Code Analysis

The Codium plugin for Rider has a Code Analysis function that offers extensive capabilities to improve the efficiency and quality of code. CodiumAI provides a number of features to guarantee test efficacy and offer insights into the composition and behavior of your code.

Using CodiumAI results in a simple text output once your code is thoroughly analyzed from top to bottom. The TestGPT model, which helps to comprehend and enhance code quality, powers this analysis.

Key Features of CodiumAI Code Analysis  

  • Objective Section: The objective section of your code explains what a function or class does and explains its purpose.  

  • Inputs Section: The inputs section lists the kinds and names of the inputs that the code needs.  

  • Flow Section: Shows how the functionality of the code is implemented step-by-step.  

  • Outputs Section: The output that the code or function produces is described in the outputs section.  

  • Extra Aspects Section: Offers more details for improved optimization, such as code availability, usability, dependencies, and restrictions.

Importance of Code Analysis

  • Documentation: Helps in documenting the code effectively. 

  • Verification: Ensures that the code functions as intended, allowing for necessary modifications to enhance quality. 

  • Bug Identification: Aids in finding and fixing bugs, addressing security vulnerabilities, and boosting code performance. 

CodiumAI's Code Analysis feature is a valuable tool for developers seeking to elevate their coding experience by improving code integrity and efficiency. It offers user-friendly functionalities compatible with various development tools, making it a robust option for enhancing code quality and performance.

Code Reviews

CodiumAI provides an automated code review process to help developers identify potential issues, improve code quality, and ensure adherence to best practices.

The key aspect of their code review feature include:

  • Static Code Analysis: CodiumAI analyzes the codebase to detect potential bugs, security vulnerabilities, performance bottlenecks, and code style violations. It provides detailed reports highlighting the identified issues and offers suggestions for improvement.
  • Test Generation: CodiumAI can automatically generate comprehensive test suites for the codebase, ensuring thorough testing coverage. The generated tests help discover bugs and regressions early in the development cycle.
  • Code Explanation: CodiumAI can provide detailed explanations of the code, making it easier for reviewers to understand the logic and intent behind the implementation.
  • Pull Request Assistant: CodiumAI offers a dedicated Pull Request Assistant that streamlines the code review process for pull requests. It can automatically generate review comments, commit messages, and provide suggestions for code improvements.
  • Behavior Coverage Analysis: CodiumAI analyzes the code's behavior and generates tests to cover different scenarios and edge cases, ensuring comprehensive testing coverage.

Conclusion

By using a Copilot like CodiumAI, teams can improve software development efficiencies to a great extent while increasing compliance with corporate / GxP standards. Get ahead in Code Reviews, Code Analysis, Traceability, Unit Testing and much more using your AI buddies.


 


 

xLM in the News


 

Latest AI News




What questions do you have about artificial intelligence in Life sciences? No question is too big or too small. 


 

COMMENTS

We are Continuously incorporating AI into our services.

FOLLOW ME ON LINKEDIN

Subscribe to the xLM Blog

Stay up to date on the latest AI developments in GxP, AI validation trends, FDA expectations, and more with blog articles written by xLM's experts.