MG

M. Goudriaan

info

Please Note

2 records found

Can a code review checklist improve the process?

Master thesis (2021) - M. Goudriaan, A.E. Zaidman, Mick Fens, U.K. Gadiraju
In the software engineering field the code review process has been widely adopted as a quality control, in the current day code reviews have also multiple additional advantages. In this research we explored how the code review process is used at Greenchoice, a Dutch energy supplier. Subsequently, we created a code review checklist which was used by the developers in order to improve the process. In the first step of the exploration we used a questionnaire to retrieve Greenchoice's motivation for the code review process. In the results we show that ensuring quality is the main motivation followed by knowledge sharing and functionality check. Secondly, we held 13 semi-structured interviews, performed a data analysis on the metadata of 8458 pull requests and performed a data analysis of 5400 code review comments to explore Greenchoice's code review process further. In the results of the interviews we show that the reviewers tend to focus on understanding the change and finding obvious mistakes. They also mentioned code reviews could be performed stricter improving the maintainability and evolvability aspects. However, it can be hard to know where to check on for these aspects. In the results of the metadata analysis we show that the code reviews are performed quick, frequent and small changes are made, similar to the modern code reviews processes described in the literature. In the results of the code review comments analysis we show that most comments are related to explaining or understanding the change. Next, we created together with a scrum team a code review checklist which was was used by three scrum teams for two periods of two weeks. In order to measure the effectiveness of the code review checklist we used a pre questionnaire to gauge the current situation and the expectations of the usage. A post questionnaire was used to gauge the new situation and whether the expectations were met. After comparing the results we show in the results that the checklist is less appropriate to guide the reviewer step by step in a code review. Furthermore, we show that the items in the checklists should be applicable to the different changes in the pull requests. The strength of the checklist lies in addressing the items which are often forgotten in the development process and the code reviews. ...

Real time control for a cryogenic refrigerator

Bachelor thesis (2017) - Bernard Bekker, Louis Sikkes, Maiko Goudriaan, Ruben Meeuwissen, Robbert Krebbers
In order to measure the spectrum of radio emissions from galaxies and other deep space objects, a new superconducting spectrometer, working at very cold temperatures close to the absolute zero, is developed. An advanced cooling system called a cryostat is used to cool down the spectrometer. The cool down of the cryostat involves the control of multiple sensors and actuators connected to the cryostat to achieve a final temperature below 250 millikelvin. A software program is used for this purpose. As extra hardware components have been added to the cryostat, the existing program does no longer fulfill the requirements. For this reason a new software program, which can monitor temperatures of all components and start control processes, is developed. The developed program consists of a client server structure. The server handles the logic of the cryostat using several controllers. It can send data to a native client, which is the graphical user interface, or a REST API. The native client displays sensor readouts received from the server and allows full control of server, which means it can start the cool down process as well as manual control processes. The REST API allows the user to have full control over the server using a Python script to achieve measurements which cannot be done from the native client. The increased automation, improved control and ability to integrate with external Python scripts allow the user to focus on the essential parts of an experiment making the developed program an improvement over the previous program. ...