Tools


I love tools – as a user and as a deverloper, especially the tools that concern software quality. On this page, I lists the tools that either I developed from scratch or made a major contribution.

Follow @tushartushar

1. Designite

Click here to expand/collapse
Designite is a software design quality assessment tool for C#. It offers various features to help identify issues contributing to technical debt and improve the design quality of the analyzed software system.

Key features

  • Detects 7 architecture smells
  • Detects 19 design smells
  • Detects 11 implementation smells
  • Computes various OO code metrics
  • Provides smell trend analysis of Git repositories
  • Many visualization aids including (smell) treemap, and (smell) sunburst
  • Detects code duplication
  • Allows customization of analysis

Visit the tool’s official website for more details. Software engineering researchers may request a free fully-functional Academic license of this commercial tool.

Rohit Tiwari also contributed to this tool (specifically, in code clone detector and SonarQube plug-in components).

Relevant publications

  • Tushar Sharma, Marios Fragkoulis, and Diomidis Spinellis. “House of Cards: Code Smells in Open-Source C# Repositories. in ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). 424-429. 10.1109/ESEM.2017.57.
  • Tushar Sharma, “Designite: A Customizable Tool for Smell Mining in C# Repositories” to appear in SATToSE, Madrid during 7-9 June 2017.
  • Tushar Sharma, Pratibha Mishra, and Rohit Tiwari. Designite: a software design quality assessment tool. In Proceedings of the 1st International Workshop on Bringing Architectural Design Thinking into Developers’ Daily Activities (BRIDGE ’16).

2. Puppeteer

Click here to expand/collapse
Puppeteer is a design configuration smell detection tool for Puppet code. It detects 11 design configuration smells.

It is an open-source tool; you may access the code via GitHub repo page. My colleague at AUEB Marios Fragkoulis also contributed to this tool.

Star
Fork

You may find more details about the catalog of configuration smells here.

Relevant publications

  • Tushar Sharma, Marios Fragkoulis, and Diomidis Spinellis. 2016. Does your configuration code smell?. In Proceedings of the 13th International Conference on Mining Software Repositories (MSR ’16).

3. DesigniteJava

Click here to expand/collapse
DesigniteJava is a software design quality assessment tool for Java. It detects 17 design smells and 10 commonly occurring implementation smells. It also computes various object-oriented code metrics.

Visit the tool’s page for more details. It is free and open-source tool.

Visit GitHub repository
Star Fork

Antonis Gkortzis, Theodore Stassinopoulos, and Alexandra Chaniotakis also have contributed to this tool.

4. Augur

Click here to expand/collapse
Augur is a Change Impact Analysis tool written in C# and realized as a Visual Studio extension. It infers semantic and environment dependencies along with data and control dependencies among source code entities across six granularities. Additionally, Augur understands Change Impact Query Language, a novel query language that we proposed in the below paper for impact analysis, to support inter-granular CIA queries with batch querying feature.

This tool is developed when I was in Siemens (Corporate Research, Bangalore). My colleague at Siemens Elroy DSilva and a few interns, Kishan Kesavan and Amit Patil, also contributed to this tool.

Relevant publications

5. DbDeo

Click here to expand/collapse
DbDeo is a tool that detects smells in database code. Currently, it detects 10 database schema smells.

It is an open-source tool; you may access the code via GitHub repo page. My colleague at AUEB Marios Fragkoulis also contributed to this tool.
Star
Fork

Relevant publications

  • Tushar Sharma, Marios Fragkoulis, Stamatia Rizou, Magiel Bruntink, and Diomidis Spinellis. 2018. Smelly relations: measuring and understanding database schema quality. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP ’18). ACM, New York, NY, USA, 55-64. DOI: https://doi.org/10.1145/3183519.3183529

6. SlideQ

Click here to expand/collapse
SlideQ is a presentation smell detection tool realized as a plug-in for Microsoft Powerpoint. It detects 8 presentation smells.

It is an open-source tool; you may access the code via Github repo page. Rohit Tiwari made a major contribution to this tool.

Star
Fork

If you are wondering about presentation smells, here is my attempt to document them in the form of a catalog.