Bv
B. van Oort
info
Please Note
<p>This page displays the records of the person named above and is not linked to a unique person identifier. This record may need to be merged to a profile.</p>
2 records found
1
Master thesis
(2021)
-
Bart van Oort, Luís Miranda da Cruz, Arie van Deursen, Babak Loni, Cynthia Liem
Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the current computer science landscape. Yet, there still exists a lack of Software Engineering (SE) experience and best practices in this field. One such best practice, static code analysis, can be used to find code smells, i.e., (potential) defects in the source code, refactoring opportunities, and violations of common coding standards. This research first set out to measure the prevalence of code smells in ML application projects. However, the results from this study additionally showed deficiencies in the dependency management of these projects, presenting a major threat to their maintainability and reproducibility. Static code analysis practices were also found to be lacking. These issues inspired the novel concept of project smells introduced in this research, which consider the ML project as a whole, including not just the code, but also the data, tools and technologies surrounding it and its development. To help ML practitioners in detecting and mitigating these project smells, as well as to help educate on SE principles, techniques and tools, I developed an open-source static analysis tool mllint using input from experienced ML engineers at the global bank and data-driven organisation ING. This tool was then used to evaluate the concept of project smells and how they fit the industrial context of ING in a second study. This second study also investigated obstructions to implementing best practices recommended by mllint, perceptions on static analysis tools and how ML practitioners perceive the difference in importance of mllint's linting rules (by extension, project smells) for proof-of-concept versus production-ready projects. The results indicate a need for context-aware static analysis tools, that fit the needs of the project at its current stage of development, while requiring minimal configuration effort from the user.
...
Artificial Intelligence (AI) and Machine Learning (ML) are pervasive in the current computer science landscape. Yet, there still exists a lack of Software Engineering (SE) experience and best practices in this field. One such best practice, static code analysis, can be used to find code smells, i.e., (potential) defects in the source code, refactoring opportunities, and violations of common coding standards. This research first set out to measure the prevalence of code smells in ML application projects. However, the results from this study additionally showed deficiencies in the dependency management of these projects, presenting a major threat to their maintainability and reproducibility. Static code analysis practices were also found to be lacking. These issues inspired the novel concept of project smells introduced in this research, which consider the ML project as a whole, including not just the code, but also the data, tools and technologies surrounding it and its development. To help ML practitioners in detecting and mitigating these project smells, as well as to help educate on SE principles, techniques and tools, I developed an open-source static analysis tool mllint using input from experienced ML engineers at the global bank and data-driven organisation ING. This tool was then used to evaluate the concept of project smells and how they fit the industrial context of ING in a second study. This second study also investigated obstructions to implementing best practices recommended by mllint, perceptions on static analysis tools and how ML practitioners perceive the difference in importance of mllint's linting rules (by extension, project smells) for proof-of-concept versus production-ready projects. The results indicate a need for context-aware static analysis tools, that fit the needs of the project at its current stage of development, while requiring minimal configuration effort from the user.
Bachelor thesis
(2017)
-
Thomas Kolenbrander, Bart van Oort, Frank de Ruiter, Tim Yue, Jan van Gemert, Seyran Khademi, Otto Visser, Huijuan Wang
This report describes the process of the Bachelorproject(TI3806) done for ‘De Energiebespaarders’, a startup in Amsterdam striving to make homes more energy efficient through accessible advice and installation of insulation or solar panels. The goal of the project was to apply machine learning to improve their system for identifying house features; windows, doors, and walls, and calculate their surface areas to improve the advice they can give to customers. The old system could produce good results, but was time-consuming to use and sensitive in regard to user input. We chose to implement a new system that makes the process automatic. In the report, our design process and our chosen implementation is described. Our new system makes use of a convolutional neural network to give pixels a label of wall(blue), window(red), door(purple), or nothing(black), without the need for the user to click the individual features beforehand. The results are promising and can save a lot of time, but the results are still inconsistent at times. Therefore, the report also contains recommendations for improvement of this new system, as De Energiebespaarders have shown interest in further developing our system.
...
...
This report describes the process of the Bachelorproject(TI3806) done for ‘De Energiebespaarders’, a startup in Amsterdam striving to make homes more energy efficient through accessible advice and installation of insulation or solar panels. The goal of the project was to apply machine learning to improve their system for identifying house features; windows, doors, and walls, and calculate their surface areas to improve the advice they can give to customers. The old system could produce good results, but was time-consuming to use and sensitive in regard to user input. We chose to implement a new system that makes the process automatic. In the report, our design process and our chosen implementation is described. Our new system makes use of a convolutional neural network to give pixels a label of wall(blue), window(red), door(purple), or nothing(black), without the need for the user to click the individual features beforehand. The results are promising and can save a lot of time, but the results are still inconsistent at times. Therefore, the report also contains recommendations for improvement of this new system, as De Energiebespaarders have shown interest in further developing our system.