Clean CaDET

Clean Code and Design Educational Tool

Vision

A World Powered by High Quality Software.


Mission

We are building a digital assistant for software engineers to help them develop more maintainable, reliable, and secure software.

Principal Idea: The main objective of this project is to lower the cost of software development and increase its overall quality. We work towards this objective by creating an artificial intelligence (AI) digital assistant that helps the programmer write higher-quality code. The following image illustrates this process and outlines the primary use case of our Clean Code and Design Educational Tool (Clean CaDET).


Clean CaDET conceptual overview

The above image outlines the four steps of Clean CaDET's primary use case:

  1. The developer uses their integrated development environment (IDE) to write code for their software solution. When they wish to analyze their code's quality they use the Clean CaDET Plugin to send their code to the platform.
  2. The Code Quality Evaluator maintains AI models for code smell detection. The arriving code is transformed into suitable representations and is sent to machine learning classifiers and heuristics with the goal of identifying quality issues.
  3. Any identified issues arrive at the Smart Tutor module that hosts educational content and a learner profile of the developer. The Tutor selects learning objects that are suitable for the developer, based on their personality traits and learning preferences.
  4. The platform returns the identified issues and the personalized educational content to the plugin, which displays the information to the developer. The developer examines the issues, learns to resolve them, and improves their software development expertise.

Our Values

These are the principles that guide our work

Growth

We define and prioritize work in a way that facilitates the growth of our team and each individual member

Meaning

We guide our efforts towards the most meaningful results, prioritizing long-lasting solutions for multiple problems

Community

We nurture a free-spirited team that strives to improves the broader communities with which we interact

Knowledge

Our work serves the advancement of knowledge of current and future generations of professionals