Kishan Kumar Ganguly

Work place: Institute of Information Technology, University of Dhaka



Research Interests: Software Engineering, Computational Learning Theory, Computer Architecture and Organization, Data Structures and Algorithms


Kishan Kumar Ganguly received the Bachelor of Science in Software Engineering (BSSE) and Master of Science in Software Engineering (MSSE) degrees from the Institute of Information Technology, University of Dhaka. He is currently working as a lecturer in the Institute of Information Technology, University of Dhaka. His research interest includes applications of machine learning and software engineering for self-adaptive systems.

Author Articles
Decentralized Self-adaptation in the Presence of Partial Knowledge with Reduced Coordination Overhead

By Kishan Kumar Ganguly Moumita Asad Kazi Sakib

DOI:, Pub. Date: 8 Feb. 2022

Decentralized self-adaptive systems consist of multiple control loops that adapt some local and system-level global goals of each locally managed system or component in a decentralized setting. As each component works together in a decentralized environment, a control loop cannot take adaptation decisions independently. Therefore, all the control loops need to exchange their adaptation decisions to infer a global knowledge about the system. Decentralized self-adaptation approaches in the literature uses the global knowledge to take decisions that optimize both local and global goals. However, coordinating in such an unbounded manner impairs scalability. This paper proposes a decentralized self-adaptation technique using reinforcement learning that incorporates partial knowledge in order to reduce coordination overhead. The Q-learning algorithm based on Interaction Driven Markov Games is utilized to take adaptation decisions as it enables coordination only when it is beneficial. Rather than using unbounded number of peers, the adaptation control loop coordinates with a single peer control loop. The proposed approach was evaluated on a service-based Tele Assistance System. It was compared to random, independent and multiagent learners that assume global knowledge. It was observed that, in all cases, the proposed approach conformed to both local and global goals while maintaining comparatively lower coordination overhead.

[...] Read more.
Reduction of Multiple Move Method Suggestions Using Total Call-Frequencies of Distinct Entities

By Atish Kumar Dipongkor Rayhanul Islam Nadia Nahar Iftekhar Ahmed Kishan Kumar Ganguly S.M. Arif Raian Abdus Satter

DOI:, Pub. Date: 8 Aug. 2020

Inappropriate placement of methods causes Feature Envy (FE) code smell and makes classes coupled with each other. To achieve cohesion among classes, FE code smell can be removed using automated Move Method Refactoring (MMR) suggestions. However, challenges arise when existing techniques provide multiple MMR suggestions for a single FE instance. The developers need to manually find an appropriate target classes for applying MMR as an FE instance cannot be moved to multiple classes. In this paper, a technique is proposed named MultiMMRSReducer, to reduce multiple MMR suggestions by considering the Total Call-Frequencies of Distinct Entities (TCFDE). Experimental results show that TCFDE can reduce the multiple MMR suggestions of an FE instance and performs 77.92% better than an existing approach, namely, JDeodorant. Moreover, it can ensure minimum future changes in the dependent classes of an FE instance.

[...] Read more.
An Environment Aware Learning-based Self-Adaptation Technique with Reusable Components

By Kishan Kumar Ganguly Md. Saeed Siddik Rayhanul Islam Kazi Sakib

DOI:, Pub. Date: 8 Jun. 2019

Self-adaptive systems appeared in order to reduce the effort of manual software maintenance. Apart from software attributes, for example, different alternative software modules, self-adaptation decisions depend on environmental attributes, for example, service rate, bandwidth etc. Current well-known self-adaptation approaches can be further improved by incorporating environmental attributes. Moreover, reducing maintenance effort includes minimizing both operational and development effort. To reduce the effort of developing self-adaptive software, the constituent components should be reusable. This paper proposes a technique to incorporate environmental attributes to learning-based self-adaptation and to increase the reuse potential of self-adaptive system components. The environmental attributes are provided as a constraint to an optimization problem which results in an optimal software attribute selection. Design patterns for self-adaptive system components are proposed to improve its reusability. The proposed technique was validated on a news serving website called According to renowned reusability metrics such as Lines of Code (LOC), Message Passing Coupling (MPC) and Lack of Cohesion of Methods 4 (LCOM4), the proposed technique improved reuse potential. The website was further tested for adaptation effectiveness under two scenarios – adaptation and without adaptation. According to our experiments, Adaptation gradually improved the main goal response time of the website where it performed poorly without adaptation.

[...] Read more.
Other Articles