Home » Software Design and Maintenance

Software Design and Maintenance

We work mainly in the areas of software code smell detection, refactoring and modularization.

Software Smells are design or code degradation indications which might lead to more serious bugs and system failures if not mitigated in time. Code refactoring is a design activity of transforming the internal code of a module/system without altering the its external behaviour. Generally specific refactoring activities are applied to get rid of specific code smells. Software modularization is about compartmentalizing or structuring the software code in the best possible way such that the resulting software has a better quality.

Our research aims at establishing relationship among different types of smells including architecture, design and implementation smells. In addition, we target to analyze the impact of code smells and refactoring on external software quality and performance factors such as software energy consumption, maintainability, etc. along with various human behavioral aspects.

Currently, we are also work in collaboration with Tushar Sharma, Researcher, Athens University of Economics and Business, Greece, to add support to Designite tool for architecture smells.

Publications:

  • Garima Dhaka and Paramvir Singh (2016): An Empirical Investigation into Code Smells Elimination Sequences for Energy Efficient Software, 23rd Asia Pacific Software Engineering Conference (APSEC), Hamilton, New Zealand, Dec 6 – 9, 2016. [Access Article Preprint] [Access Article] [Access Poster]
  • Aabha Choudhary and Paramvir Singh (2016): Minimizing Refactoring Effort through Prioritization of Classes based on Historical, Architectural and Code Smell Information, International Workshop on Technical Debt Analytics (TDA) collocated with Asia Pacific Software Engineering Conference (APSEC-2016), Hamilton, New Zealand, Dec 6 – 9, 2016. [Access Article Preprint] [Access Article]

Twitter