Les défauts de conception sont des problèmes récurrents du développement de logiciels causés par des mauvais choix conceptuels. Des techniques et outils existent pour automatiquement détecter, voir corriger, certains de ces défauts dans les langages (et modèles) courants. Une des approches efficaces consiste à déterminer des métriques sur les programmes à analyser, déduire de ces métriques des "mauvaises odeurs" qui sont des défauts de conception de bas niveau d'abstraction, puis corréler ces mauvaises odeurs via des règles pour déterminer des "anti-patrons" potentiels (qui sont des défauts de conception de haut niveau d'abstraction).
Nit, en tant que nouveau langage de programmation, possède plusieurs caractéristiques originales dont, entre autres, la banalisation de l'héritage multiple et le raffinement de classes qui permet à un module de modifier une classe existante. Ces caractéristiques font que les techniques et outils qui se basent sur des modèles objets traditionnels ne sont pas complètement adaptés aux programmes Nit.
Le projet consiste à adapter les techniques de détection de défauts de conceptions existantes au langage Nit:
À la fin du travail, l'étudiant aura: