[month] [year]

Siddharth Bhatore  –  Dual Degree CSE

Siddharth Bhatore  received his MS-Dual Degree in Computer Science and Engineering. His  research work was supervised by Dr. Raghu Reddy. 

Here’s a summary of  Siddharth’s M.S thesis, Software Engineering practices for building MLware applications – credit risk evaluation case study as explained by him: 

MLWare applications is an upcoming term used to refer to software applications that use machine learning approaches/algorithms (in part) to address the application’s objective.  The development and utilization  of  such  applications  is  growing  rapidly  in  every  major  sector  with  the  increase  in  speed and volume of data collection/analysis.  These applications tend to be complex and hence maintaining them can be a difficult task. The complexity of the applications may be due to the inherent complexity of algorithms used or may be accidental due to the structural and dynamic relationships between the various sub-systems of the application.  Maintaining such complex systems can be a difficult task as there are challenges such as comprehension of complex code base, lack of documentation, lack of support tools, etc.  Furthermore, such applications tend to be algorithm centric.  As a result, there is a lack of software engineering rigour associated with building such applications. 

Researchers have  started to work on integrating software  engineering  practices  while  building MLware applications. Applying software engineering practices, specifically pattern based approaches for   the   development   of   MLware   applications   can   potentially   improve   reliability,   robustness, extensibility, scalability and other such quality attributes.  Another problem with MLware applications is the need for an explanation associated with the decisions arrived at during various stages.  This is difficult as some Machine Learning models are black-box models and hence explainability is a difficult characteristic to achieve.

In  this  thesis,  developing  maintainable,  scalable,  and  explainable  MLware  applications  using software engineering practices is described and a proof of concept implementation for the specific case of credit risk evaluation is detailed. Microservices based architecture is used to develop the application with  the  use  of  Strategy  design  pattern.This  helps  with  scalability  and  maintainability  of  the applications.  A simple approach to  understand the decision made by the machine learning model is also provided.   We detail the set of practices using a credit risk evaluation MLware application that helps a loan granting officer in deciding whether to grant the loan or not.  The implementation is done using Django framework and is deployed on Heroku server.