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, Diomidis Spinellis, “House of Cards: Code Smells in Open-source C# Repositories” in ESEM, Toronto during 9-10 Nov. 2017.
  • 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. 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

3. 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).

4. 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.


I am working on two more tools at present. I will add them here when they are ready to be used.