Abstract:Traditional software engineering programming paradigms are mostly object or procedure oriented, driven by deterministic algorithms. With the advent of deep learning and cognitive sciences there is an emerging trend for data-driven programming, creating a shift in the programming paradigm among the software engineering communities. Visualizing and interpreting the execution of a current large scale data-driven software development is challenging. Further, for deep learning development there are many libraries i… Show more
“…Thus, the engineer requires support to precisely specify the neural network's key-properties. Most papers talking about specifications present domain-specific languages [27][28][29][30] for the construction or the execution of neural networks. Mostly, they present domain-specific languages for the specification of an architecture of a neural network facilitate the implementation.…”
“…Thus, the engineer requires support to precisely specify the neural network's key-properties. Most papers talking about specifications present domain-specific languages [27][28][29][30] for the construction or the execution of neural networks. Mostly, they present domain-specific languages for the specification of an architecture of a neural network facilitate the implementation.…”
“…Fig. 10 shows the articles by the [3,113,133,156,165,174] Requirement Traceability [47,73,130,139,203,222] Architecture and Design Design Modeling [2,37,46,56,63,135,136,142,146,181,190,192,199,221,226…”
The software development industry is rapidly adopting machine learning for transitioning modern day software systems towards highly intelligent and self-learning systems. However, the full potential of machine learning for improving the software engineering life cycle itself is yet to be discovered, i.e., up to what extent machine learning can help reducing the effort/complexity of software engineering and improving the quality of resulting software systems. To date, no comprehensive study exists that explores the current state-of-the-art on the adoption of machine learning across software engineering life cycle stages. Objective: This article addresses the aforementioned problem and aims to present a state-of-the-art on the growing number of uses of machine learning in software engineering. Method: We conduct a systematic mapping study on applications of machine learning to software engineering following the standard guidelines and principles of empirical software engineering.Results: This study introduces a machine learning for software engineering (MLSE) taxonomy classifying the state-of-the-art machine learning techniques according to their applicability to various software engineering life cycle stages. Overall, 227 articles were rigorously selected and analyzed as a result of this study. Conclusion: From the selected articles, we explore a variety of aspects that should be helpful to academics and practitioners alike in understanding the potential of adopting machine learning techniques during software engineering projects.
“…These architectural information are transformed into a program (code) by the developers. Currently, this coding task is time taking, laborious, and requires expert level skill [25]. Motivated from these challenges, our aim is to design an IDE for deep learning where models are implemented in the same way as it is represented in documents and research papers; visually.…”
Section: Deep Learning Ide (Dl-ide) System Architecturementioning
confidence: 99%
“…Sankaran et al [25] studied the challenges faced by a DL developer by conducting a qualitative survey among 100 software engineers from varying backgrounds. 83% of the participants responded that it took them about 3 − 4 days to implement a deep learning model, given the model design and choice to use any DL library.…”
Deep learning is one of the fastest growing technologies in computer science with a plethora of applications. But this unprecedented growth has so far been limited to the consumption of deep learning experts. The primary challenge being a steep learning curve for learning the programming libraries and the lack of intuitive systems enabling non-experts to consume deep learning. Towards this goal, we study the effectiveness of a "no-code" paradigm for designing deep learning models. Particularly, a visual drag-and-drop interface is found more efficient when compared with the traditional programming and alternative visual programming paradigms. We conduct user studies of different expertise levels to measure the entry level barrier and the developer load across different programming paradigms. We obtain a System Usability Scale (SUS) of 90 and a NASA Task Load index (TLX) score of 21 for the proposed visual programming compared to 68 and 52, respectively, for the traditional programming methods.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.