Info Support Research Demo Day – 22 October 2020

After the success of the previous two editions in 2018 and 2019, Info Support is organizing this year’s annual Info Support Research Demo Day on the 22nd of October. The session takes place digitally and is for anyone interested in scientific research in the field of Artificial Intelligence, Software Architecture and Software Methodologies.

Program

3:30 p.m.
Dennis Joosten (Chief Technology Officer at Info Support) will kick of the Demo Day, by taking you through the vision behind Info Support Research and the importance of close cooporation between universities, business and Info Support.

3.45 p.m.
Three ‘Heads of Research’ will give an update about our research area’s Artificial Intelligence, Software Architecture and Software Methodologies. Practical challenges, research topics and progress are being reviewed.

4.15 p.m.
Thesis Talk of recent graduate Sven Konings about his Research: How can we improve code quality when combining object-oriented and functional programming in Scala?

4.45 p.m.
Thesis Talk of recent graduate Jasper Berends. In this master thesis he researched and analyzed the techniques Example Mapping and Feature Mapping. During his presentation, he will take you along with his preliminary results and insights.

5.15 p.m. 
Thesis Talk of recent graduate Zina-Al Jibouri about her Research: Improving depth estimation in an automated privacy preserving video processing
system.

5.45 p.m.
Digital Open Space
Future research and assignments: discussion about interesting future research topics. We will highlight our idea’s, but we also want to know your work and ideas.

The program will end around 6:15 p.m.

The Demo Day takes place via Microsoft Teams (remote).

Sneak Preview - Thesis Talk Sven Konings

How can we improve code quality when combining object-oriented and functional programming in Scala?

 

The combination of Object-Oriented Programming (OOP) and Functional Programming (FP) is becoming more and more common. Popular OOP languages like Java and C# have incorporated concepts from FP languages like lambdas and higher-order functions. Furthermore, Multi-paradigm Programming (MP) languages like Scala and Kotlin are becoming increasingly common.

This combination of programming paradigms allows for powerful new programming constructs. However, the combination of these paradigms also leads to new pitfalls. For example, FP code often assumes lambda functions have no side-effects. In MP languages this is not guaranteed. These new pitfalls are not detected by traditional metrics and tooling. Which common pitfalls occur when combining these paradigms and how can we detect them?

Sven Konings, master student Computer Science at the University of Twente, will present which pitfalls can occur when combining OOP and FP in Scala and how these pitfalls can be detected using code metrics..

Sneak preview - Thesis Talk Jasper Berends

Industry-Pushed Ways Of Working In User Story Refinement: How Good Are They Really?

Shared understanding between stakeholders in a project is essential to develop good software. When agile methodologies are used, such as Scrum, informal and frequent communication is crucial to determine good requirements. Requirements Engineering is an integral part of software development: when properly applied, it ensures efficient software development, but poor requirements are disadvantageous for a software project and entail higher costs.

Software requirements can be determined during a refinement session. Oftentimes software is split in smaller pieces called user stories. Three Amigo sessions can be used to refine user stories. During a Three Amigo refinement session, team members of different principles are present. To keep the session efficient, only one person from each principle is present. For example, there is one analyst present with business knowledge, one software developer and one software tester. The purpose of this session is to create a shared understanding around the functionality of the software and to prepare a good description of its requirements. The requirements are drawn up in the form of examples that illustrate how the software should function, written in a way that is clear for everyone.