InSet Tool
Intelligent Smell Detector (InSet) is a tool created by Warteruzannan Soyer Cunha for detecting architectural smells using machine learning. It was created within the AdvanSE laboratory of the Universidade Federal de São Carlos (UFSCar).
Our tool is automatic and does not need any human intervention to analyze a system and shows its smelly components/dependencies. Our tool overcomes the limitations of existent tools to identify each smell and has the following characteristics:
- From the user's viewpoint, the InSet tool is automatic and does not need any configuration or human intervention to analyze a system, extract its metrics and show its smelly components/dependencies.
- Internally, the InSet tool uses machine learning models to classify the elements (components and/or dependencies) as smelly and non-smelly. ML models can take the decision based on a vast set of metrics/features, not only on a unique metric and threshold. It is important because the interpretation of whether an element is smelly or not depends on the domain, the experience of the developers/researchers, and other contextual factors, i.e., there is a subjective ingredient in the decision.
- The tool allows users to give feedback, reporting whether it is wrong or right. The users' feedback are used to retrain the ML models, i.e. retrain with real opinions from developers and researchers. We consider this retraining very important because the models' performance is constantly monitored and they can be changed by others that presented a better performance.