Democratizing Software Development and Machine Learning Using Low Code Applications
Creators: name: Alamin, Md Abdullah Al
Publisher: name: Schulich School of Engineering
Year: 2022
Subjects: subject: Software Engineering
subject: AutoML
subject: Empirical Study
subject: Low-Code Software Development
subject: Computer Science
subject: Engineering

description: Low-code software development (LCSD) is an emerging approach to democratize traditional and Machine Learning (ML) application development for practitioners from diverse backgrounds. Traditional LCSD platforms promote rapid application development with a drag-and-drop interface and minimal programming by hand. Similarly, low-code Machine Learning (ML) solutions (aka, AutoML) aim to democratize ML development to domain experts by automating many repetitive tasks in the ML pipeline (e.g., data pre-processing, feature engineering, model design, and hyper-parameter configuration). The rapid emergence of LCSD platforms warrants systematic studies to understand the challenges developers/practitioners face while using the platforms. This thesis catalogs, for the first time in the literature, the challenges developers face while using low code platforms developed for traditional and ML software application development. To the end, we also offer our hands on experience of developing a low code ML software systems for our industrial partner. Specifically, we investigate the current status, i.e., services of LCSD providers, open-source research \&amp; collaboration. We conduct the LCSD practitioners' challenges by analyzing their discussion on the popular Q&amp;A forum Stack Overflow (SO) to seek technical assistance. To further validate our findings, we conduct to develop a low-code machine learning solution in collaboration with domain experts from industry and academia. Additionally, we develop AutoGeoML, an open-source low-code framework that solves the current limitations of low-code ML solutions. Our qualitative investigation of 121 traditional and 37 AutoML LCSD services shows that around 60% traditional LCSD solutions are related to business process management (BPM) and work process automation, 90% are proprietary, and only 63% platforms support only proprietary cloud deployment options. We find that around 65% of services offer shallow or general purpose ML applications, 57% solutions are open-sourced and offer flexible deployment options. According to our findings, Customization and LCSD Platform Adoption are the most discussed topic, followed by Data Management. We also find that Deployment and Maintenance are still the most difficult Software Development Life Cycle (SDLC) phase. We highlight the limitations of current low-code AutoML services and develop AutoGeoML. This open-source low-code framework provides domain-experts-in-the-loop customizability, and modular abstraction is some of the critical requirements lacking in existing AutoML frameworks. The findings of this thesis have implications for all three LCSD stakeholders: LCSD platform vendors, LCSD practitioners, and Researchers. Researchers and LCSD solution vendors can collaborate to improve different aspects of LCSD, such as better tutorial-based documentation, DevOps support, and expert-in-the-loop customizability.