Seminar: Software Evolution and Developer Productivity HS21

NEWS

  • 2021-09-20: This course is an in-person class, attendance is expected (and required for the discussions).
  • 2021-09-20: For the readings we will use Perusall. Make sure to create an account and sign up for the course specified in OLAT.
  • 2021-09-20: Kick-off slides can be found here (PDF, 566 KB).

Overview

Software requires constant evolution due to changing customer needs, bugs that have to be fixed, or changes in the environment. Lehman’s first law of software evolution states that a software system must be continuously adapted, or it becomes less and less useful. The constant change poses many challenges, and both researchers and practitioners have recognized the importance of studying and supporting software evolution and the humans involved in the process. In this seminar, we will cover some of the most relevant studies, approaches, and techniques that researchers have looked at in this context.

In this seminar, students will work on a specific research topic in software evolution and developer productivity. By the end of the course, students will be asked to deliver a research proposal. Furthermore, the students will take part in a simulated peer-reviewing process for the proposals. Finally, they will share as a presentation the results of their work and discuss them with the class.

For this seminar, you will be asked to read, analyze and discuss research papers, as well as work on and write a scientific report about a proposed topic in software engineering.

 

Prior Knowledge

Content of software engineering and programming / software construction.

 

Assessment

  • Active reading of assigned papers, (collective) annotating and discussions (Perusall), response papers, and active class participation;
  • Presentation and moderation of a discussion topic;
  • Written proposal, scientific report, and oral presentations and discussions for a topic in software engineering;
  • Feedback on reports written by others (peer review).

 

Learning Objectives

At the end of this course, students should:

  • Have gained a deeper and broader understanding and knowledge of Software Engineering research by reading, analyzing, reflecting and discussing current and classic literature;
  • Be able to identify and discuss research problems and research questions as well as identify relevant related work;
  • Be able to write a scientific report, and present and discuss ideas on an advanced topic in Software Engineering research with a focus on software evolution and developer productivity;
  • Be able to provide constructive feedback on a research proposal.

 

Organization

Lecturers Prof. Dr. Thomas FritzAlexander Lill
Time & Location Tuesdays, 10:15 - 11:45, Room BIN-2.A.10
Language English
AP (ECTS) 3 points
Target Audience BSc and MSc students in Informatics.
Prerequisites Software Engineering
Registration Registration at the kick-off meeting & Modulbuchung
Contact Please email Alexander Lill for any administrative matters
Tools Perusall for active reading and annotating;  OLAT and this course page for material and announcements

Organizational Matters

  1. At the beginning of the course, students will be assigned a topic, a paper (based on preferences), and a partner to work on this topic.
  2. For each lecture / discussion session:
    • Read the assigned papers on perusall and collectively add annotations (comments and questions). 
    • Each of the two teams assigned to a paper in the lecture will present their paper and another relevant related paper they identified on the topic to the rest of the class (max 15 mins). Make sure to put both papers in context of each other and don't just summarize one after the other. After the presentation, moderate the discussion (25mins), make sure to prepare for it. The assigned teams also have to make sure to have read the other paper on the topic.
    • All other students: identify one additional paper related and relevant with respect to the topic and the given two papers; write a short response paper (max. 200words) of the additional paper. Do not just summarize it but provide your own perspective, thoughts on it. Name the short response LASTNAME_FIRSTNAME_WEEK.pdf.
    • Note, the additional paper has to be a full paper (i.e. >=9 pages) and from a top tier conference, such as ICSE, FSE, CHI.
  3. Each team has to draft a research proposal in the area of their topic and present their draft. The draft should be a maximum of 3 pages (+ pages for references) and should have a motivation, related work section showing the relevance of the research idea/question, and a section on the research question and approach. Note, the major focus of the draft should be on the related work overview and it should not just be an enumeration of other papers in the area.
  4. Until the end of the course, every team then refines their research proposal, writing a more complete related work section, specifying in more detail how they would go about addressing/answering the research question they pose (study method / study design), and what the motivation is. The final research proposal should be a max. 6 pages (+ pages for references). Again, the main focus is to have a good review of related work.
  5. At the end of the course, the proposals are submitted and peer-reviewed by other students.
  6. At the last session the proposals are presented by the respective teams and the proposals will be peer evaluated by the reviewers.

 

 

Schedule and deadlines (tentative)

Date and time Topic/deliverable Material
21.09.2021 10:15 - 11:45
 
Kick-off

slides (PDF, 566 KB)

23.09.2021 10:00 Submission of 3 paper preferences and partner via Mail to Alexander Lill List of topics and papers, see below

Actively read assigned papers, identify 3rd paper, write a short response (max 200 words) on 3rd (if you're not moderating), otherwise prepare presentation and moderation. Submission of short response papers by everyone except the presenters until midnight before class via mail to Alexander Lill and Thomas Fritz

Naming: LASTNAME_FIRSTNAME_WEEK.pdf

28.09.2021 10:15 - 11:45
 
Topic 1: Productivity (see below)
05.10.2021 10:15 - 11:45
 
Topic 2: Sensing (see below)
12.10.2021 10:15 - 11:45
 
Topic 3: Socio-technical nature of development (see below)
19.10.2021 10:15 - 11:45
 
Topic 4: Task Context (see below)

26.10.2021 10:15 - 11:45
 

Topic 5: Developer Communication and Coordination (see below)
Proposal and Report Phase
01.11.2021 23:59

Submission of draft proposals on EasyChair

The proposal should be max. 3 pages double-column format plus max. 2 for references, ACM Format see more details below

Sample draft proposal see here
02.11.2021 10:15 - 11:45
 

Presentation of draft proposals (per team max. 5 minutes presentation + 3 minutes Q&A)

 
05.12.2021 23:59
 

Submission of final proposals on EasyChair

The proposal should be max. 6 pages double-column format plus max. 2 for references, ACM Format see more details below

Sample proposals see here

09.12.2021 23:59 Peer Review due (also on EasyChair)  
14.12.2021 10:15 - 13:45
 
Presentation of the proposals (per team max. 8 minutes presentation + 4 minutes Q&A)  

Topics

Topic Papers
Productivity
  1. Software Developers’ Perceptions of Productivity. Meyer, Fritz, Murphy, Zimmermann. FSE'14.
  2. Overcoming Distractions during Transitions from Break to Work using a Conversational Website-Blocking System. Tseng, Lee, Denoue, Avrahami. CHI 2019
Sensing
  1. Recognizing Developers' Emotions while Programming. Girardi, Novielli, Fucci, Lanubile. ICSE'20.  
  2. Using (Bio)Metrics to Predict Code Quality Online. Müller, Fritz. ICSE'16.

Socio-Technical Nature of Development

  1. Socio-Technical Congruence: A Framework for Assessing the Impact of Technical and Work Dependencies on Software Development Productivity. Cataldo, Herbsleb, Carley. ESEM'08.
  2. Putting it All Together: Using Socio-Technical Networks to Predict Failures. Bird et al. ISSRE'09.
Task Context
  1. Latent Patterns in Activities: A Field Study of How Developers Manage Context. Chattopadhyay et al. ICSE'19.
  2. Using Task Context to Improve Programmer Productivity. Kersten, Murphy. FSE'06.
Developer Communication and Coordination
  1. Communication, Collaboration, and Bugs: The Social Nature of Issue Tracking in Small, Collocated Teams. Bertram, Voida, Greenberg, Walker. CSCW'10.
  2. How AI Developers Overcome Communication Challenges in a Multidisciplinary Team: A Case Study. Piokowski et al. CSCW'21.

 

Paper format (ACM)

All authors should use the official “ACM Primary Article Template”, as can be obtained from the ACM Proceedings Template page. LaTeX users should use the sigconf option, as well as the review (to produce line numbers for easy reference by the reviewers) options. To that end, the following LaTeX code can be placed at the start of the LaTeX document:

\documentclass[sigconf,review,anonymous]{acmart}