Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

portfolio

publications

talks

teaching

Seminar in Software Engineering

Masters course, University of Bern, 2018

This is a seminar for Masters students in the Swiss Joint Master of Science in Computer Science as well as Bachelors, Masters and PhD students completing their project work or thesis in the Software Engineering Group. Seminar students will work on a small, supervised project during the semester, and present their work at the end of the semester. The course is offered in both fall/spring semesters.

Object-orineted Programming

Undergraduate course, University of Bern, 2018

This course provides an introduction to object-oriented design in Java with an emphasis on practical techniques for developing complex software systems. I instructed the course as a main instructor where I was responsible for hiring help assistants, designing exercise, correcting exercise, and conducting the exam. More details can be found Here

Programming 2

Undergraduate course, University of Bern, 2019

This course provides an introduction to object-oriented design in Java with an emphasis on practical techniques for developing complex software systems. I instructed the course as a main instructor where I was responsible for hiring help assistants, designing exercise, correcting exercise, and conducting the exam. More details can be found Here

Programming 2

Undergraduate course, University of Bern, 2020

This course provides an introduction to object-oriented design in Java with an emphasis on practical techniques for developing complex software systems. I instructed the course as a main instructor where I was responsible for hiring help assistants, designing exercise, correcting exercise, and conducting the exam. More details can be found Here

Programming 2

Undergraduate course, University of Bern, 2021

This course provides an introduction to object-oriented design in Java with an emphasis on practical techniques for developing complex software systems. I instructed the course as a main instructor where I was responsible for hiring help assistants, designing exercise, correcting exercise, and conducting the exam. More details can be found Here

Programming 2

Undergraduate course, University of Bern, 2022

This course provides an introduction to object-oriented design in Java with an emphasis on practical techniques for developing complex software systems. I instructed the course as a main instructor where I was responsible for hiring help assistants, designing exercise, correcting exercise, and conducting the exam. More details can be found Here

Seminar in Empirical Software Engineering

BSc and MSc course, University of Zurich, 2023

Software engineering (SE) research focuses on various methods to understand and satisfy developer information needs. SE researchers use data from various artifacts, such as documentation, source code, logs, version control history, mailing lists, and bug reports to gain an empirically based understanding of software developer practices and the challenges they face to develop and maintain complex software. Based on these essential insights, researchers devise various methods, tools, and techniques to satisfy developer needs and design appropriate methods to support developers. Empirical methods play a vital role in designing and evaluating these methods.

Comment-related changes in Code Review

Seminar topic, University of Zurich, 2023

Context:

Code review is a crucial practice for software quality assurance. It has been widely adopted in both open-source and commercial software projects. One of the benefits of code review is to enforce coding standards for the code. Similar to GitHub, Gerrit is another tool that facilitates code review in which reviewers suggest changes to the author of a piece of code. Wen et al. constructed a taxonomy of code changes that trigger changes in comments. They confirmed that 20% of changes in the code trigger comment changes. Our previous study showed that only 50% of the changes in the class comments are related to code changes. The remaining comment changes are about clarifying details of the class, formatting, and adding information. In this study, we aim to analyze such indirect changed and direct changes (in one commit).

Role of code comments in acceptance or rejection of Pull Requests

Seminar topic, University of Zurich, 2023

Context:

Software documentation is an inexplicable part of the software. It helps developers understand and modify the software in the development and maintenance phases. Code comments are an important type of software documentation, and developers trust code comments more than other forms of documentation. A Pull Request (PR) is one of the key ideas to support collaboration. Developers are encouraged to submit PRs to contribute. Not all PRs are merged into the main codebase. Researchers found various factors for this behavior, including code comments.

Developers practices related to Sustainability in Software Systems

MSc thesis, University of Bern and Zurich, Switzerland, 2023

ABSTRACT

The intensive use of software in many aspects of industries is becoming more and more common. Including other factors impacting climate, the technology sector also plays a role. Therefore, in recent years, software engineering research has attempted to comprehend the energy consumption and implication of the software development process by building various tools and frameworks. However, not all developers are aware of sustainable software, or energy-efficient practices; therefore, developing green software is still a challenge.

Impact of energy patterns in web applications

Seminar topic, University of Zurich, 2023

Context:

The intensive use of software in many aspects of industries is becoming more and more common. Including other factors impacting climate, the technology sector also plays a role. Therefore, in recent years, software engineering research has attempted to comprehend the energy consumption and implication of the software development process by building various tools and frameworks[1]. However, not all developers are aware of sustainable software, or energy-efficient practices; therefore, energy-related anti-patterns are more common than expected, and eventually, developing green software is still challenging.