The personalized, adaptive and intuitive environment for software developer
Applying Machine Learning (ML) techniques can help in this state of affairs by pointing out to appropriate next actions to rookie or even intermediate developers. AutoFOCUS3 (AF3) is a mature MDD tool we are building in-house and for which we provide regular tutorials to new users. These users come from both the academia (e.g, students/professors) and the industry (e.g. managers/software engineers). Nonetheless, AF3 remains a complex tool and we have found there is a need to speedup the learning curve of the tool for students that attend our tutorials – or alternatively and more importantly for others that simply download the tool and attempt using it without human supervision.
In this project we have developed a learning-based recommendation system named MAGNET, for aiding beginner and intermediate users of AF3 in learning the tool. MAGNET was developed having simplicity in mind: when the user is lost or confused she simply presses a button which activates the recommender system. In turn, the recommender provides three videos showing manipulations of the IDE that allow the user to understand and learn which steps to perform next. MAGNET has beed developed using state-of-the-art machine learning technology and the recommender system was trained on many hours of interactions between users and AF3. The videos were designed together with Human-Computer Engineering experts in order to make the interaction with the user as smooth as possible.
A large part of fortiss’ work involves providing industrial partners with tools that enable them to obtain a productivity edge on their national or international competitors. Environments for software development proposed by fortiss, such as AF3 or 4Diac are used permanently to present advanced software development techniques. One of the main issues faced by the industry are the learning curves of new tools – software engineers have to spend weeks or even months to understand the main functions and features of new tools. This severely hampers the possibilities of adoption of new tools, those from fortiss but also others. In practice, a slow adaptation curve to a proposed tool counters our research effort and is an obstacle to improvements in software engineering.
The open source software development environments built at fortiss present great potential to meet the expectations of industrial software developers. In order to smoothen the learning curve of such tools and potentially others, we aim at leveraging machine learning capabilities and advancements. The variety of the current research and practice in this context has brought forth the personalization of Learning, Recommendation and Warning (LRW), i.e. systems that automatically provide developers with valuable feedback, in order to improve the usability of a software development environment while accomodating an engineer’s needs.
This project aims at providing the basis for a machine learning architecture for a LRW system for improving user-adaptive in-teraction with an open-source software development platform.