Software requires constant evolution due to changing customer needs, bugs that have to be fixed or changes in the environment. This has been formulated in Lehman’s first law of software evolution, which states that a software system must be continuously adapted, or it becomes less and less useful. This constant change poses many challenges, for instance, on the reliability of the software as well as on the software developers that continuously have adapt. Both researchers and practitioners have recognized the importance to study and support software evolution and the humans involved in the process. In this seminar, we will cover some the most relevant studies, approaches and techniques that researchers have looked at in this context.
This course will be a combination of the traditional writing and presenting of a report on a chosen topic, as well as three sessions in the beginning of the term to discuss some research undertaken on each of the seminar topics. The three sessions will already cover research articles that can be used in the seminar report as well and should provide you a good start for writing the report. Short response papers for each of these sessions will also be required by each student to ensure the papers were read and stimulate an interesting discussion in class.
|Lecturer:||Prof. Dr. Thomas Fritz|
|Time and Place:||Kick-off meeting: February 22, 2016, 12:15h, Room 1.D.07|
|AP (ECTS):||3 points|
|Target Audience:||BSc Informatics and MSc Informatics Students|
|Registration:||Registration for a topic at and after the kick-off meeting & Modulbuchung|
All dates of attendance and deadlines are mandatory.
|Date and Time||Topic / Deliverable|
|February 22, 2016, 12:15 - 13.45, room 1.D.07||Kick-off meeting|
|February 24, 2016 (at the latest by midnight)||E-mail with 3 topic preferences for the report|
|February 25, 2016||Topic assignment for the report|
|Part 1: Group discussions of topic 1-6|
|February 29, 2016, 12:15h - 13.45h, room 1.D.07|| Mandatory class discussion of topic 1 and 2
(response paper due by email to André, the latest at midnight February 28)
|March 7, 2016, 12:15h - 13.45h, room 1.D.07|| Mandatory class discussion of topic 3 and 4
(response paper due by email to André, the latest at midnight March 6)
|March 14, 2016, 12:15h - 13.45h, room 1.D.07|| Mandatory class discussion of topic 5 and 6
(response paper due by email to André, the latest at midnight March 13)
|Part 2: Report on one of the topics, reviews and presentation of final report|
|April 11, 2016 (at the latest by midnight)||Submit a list of selected research articles for the report and a rough outline|
|April 13 or 14, 2016||Mandatory meeting for early feedback on selected research articles and report structure|
|May 2, 2016 (at the latest by midnight)|| Submit report for review
|May 3, 2016|| Reviews start
|May 9, 2016 (at midnight)||Reviews end|
|May 10, 2016||Notification|
|May 23, 2016 (at the latest by midnight)|| Corrected report submission
|May 30, 2016, from 9:30h - approx. 13.00h (dependent on number of students), room 1.D.07||Mandatory presentation Day|
For the final grade we will take the following aspects into account:
- The response papers and the active participation in the 3 discussions and the questions/discussions on the presentation day (20% of the grade)
- The reviewing of other students' reports (10% of the grade)
- The written report (50% of the grade)
- The presentation of the report (20% of the grade)
This seminar has two components, a set of three paper discussions in class and a written report:
Part 1: Group discussions in class
For the first three Mondays after the kick-off, we will have a class to discuss two topics per week. For each week, students have to read the main paper of each topic (i.e. two papers for the two topics per class) and find a third paper that is related to the topics. Students will have to read the papers and write a short and concise response paper on the three papers (less than a page long!). In class, we will then discuss the research, opinions and reflections on the topics. This will provide students a good introduction to their selected topic and help to understand what is important in a paper, what others think about the papers, and how to find relevant related work.
Part 2: Written report for one selected topic, reviews and presentation
Starting from the listed published research articles and the ones discussed in class, the students have to undertake a critical review of the topic assigned and write a report on it. The structure and content of this report is left open-ended, however the students, need to make sure they:
- clearly explain the topic selected,
- review and summarize the current state of the art,
- critically analyze and reflect on research articles they present, also reporting on their commonalities and differences,
- reflect on the impact of the topic they studied on the broader theme of the seminar and on software engineering in general,
- elaborate on the application of the techniques and ideas found in the surveyed research to novel cases, topics, etc.,
- reflect on possible future directions.
The report has then to be submitted for reviewing through the seminar Easy Chair page (for more information please refer to the `Delivery' subsection of this page). The report will then go through a first review phase (blind review), done by the teaching assistant and 2-3 other students. Every participant has to review two to three other participants' reports. The goal of this first review is to provide and gather some useful feedback on the report, which should then be used to improve and modify the report accordingly and submit it for the second and final time. At the end, the participants will have to present their work on the presentation day.
At the end of this course, students should be able to:
- find and identify relevant related work,
- reflect on a topic and discuss it,
- explain the selected subtopic and area of research,
- critically analyze and reflect on research articles (especially on the selected subtopic),
- review and summarize the current state of the art of the selected subtopic,
- reflect on the impact on the broader topic of the seminar and on software engineering in general,
- apply techniques and ideas found in the surveyed research to novel cases,
- reflect on possible future directions,
- provide constructive feedback on a research report.
|Topic (discussion date)||Title||Main Paper||Additional Paper|
|1 (Feb. 29)||Productivity/Efficiency||Developer's Perceptions of Productivity, Meyer et al., FSE'14. (Link)||Using a defined and measured Personal Software Process Humphrey, W.S. IEEE Software. (Link)|
|2 (Feb. 29)||Interruptions, Flow and Fragmentation||A diary study of task switching and interruptions, Czerwinski et al. (Link)||No Task Left Behind? Examining the Nature of Fragmented Work; Mark et al. (Link)|
|3 (Mar. 7)||Code Quality||Use of relative code churn measures to predict system defect density. Nagappan and Ball; ICSE'05. (Link)||Risky files: an approach to focus quality improvement effort; Mockus, Hackbarth, Palframan; ICSE'13. (Link)|
|4 (Mar. 7)||Testing||Coverage is not strongly correlated with test suite effectiveness; Inozemtseva and Holmes; ICSE'14. (Link)||The art of testing less without sacrificing quality; Herzig et al; ICSE'15. (Link)|
|5 (Mar. 14)||Code Summarization||Towards automatically generating summary comments for Java methods; Sridhara et al. ASE'10. (Link)||Improving automated source code summarization via an eye-tracking study of programmers; Rodeghero et al; ICSE'14. (Link)|
|6 (Mar. 14)||Code Reviews||Expectations, Outcomes, and Challenges of Modern Code Review, Bacchelli, Bird; ICSE'13. (Link)||The Impact of Code Review Coverage and Code Review Participation on Software Quality: A Case Study of the Qt, VTK, and ITK Projects. McIntosh et al. (Link)|
|7 (**)||Biometrics in Software Engineering||Understanding Understanding Source Code with Functional Magnetic Resonance Imaging, Siegmund et al., 2014. (Link)||Using psycho-physiological measures to assess task difficulty in software development. Fritz et al.; ICSE'14. (Link)|
|8 (**)||Socialness of Software Development||Embodied Social Proxy: Mediating Interpersonal Connection in Hub-and-Satellite Teams; Venolia et al. (Link)||Software Engineering at the Speed of Light: How Developers Stay Current using Twitter. Singer et al.; ICSE'14. (Link)|
(*) The additional paper is listed to give you some context. Don't take one of these as the additional paper for the response papers.
(**) These papers are not covered in the discussions and response papers in the first three weeks. But you can chose these topics for your report if you want.
Hint: To access the papers which are hosted on ACM, you need a subscription, which is provided by the university. Download the papers when you are connected to the university network or via VPN.
Each student writes three response papers, one for each week of part 1. The response paper is a short and concise (no more than 2 pages) reflection of the main paper for each topic and one additional paper, which fits the given context of research. This additional paper can be identified from related work (an introduction into how students can find related work will be given in the kick-off and a summary can be found below).
On the 29.2., we will discuss topic 1 and 2, on the 7.3. we will discuss topic 3 and 4, and on the 14.3., we will discuss topic 5 and 6. The response paper in PDF-form should be delivered via email to Thomas Fritz and André Meyer at midnight the day before the in-class discussion of each topic.
Below you can find two very good response papers from the previous years:
The written report represents the second part of the seminar. It has to be 10-13 pages long (not counting the cover sheet, the table of contents and the word of honor) and in the Lecture Notes in Computer Science format. Both the Microsoft Word ("word.zip") and LaTeX format ("llncs2e.zip") are available here for downloading, even though we strongly suggest anyone to use the LaTeX format. Eventually the report will have to be delivered as PDF on the submission site.
Each student should investigate and cite at least 7-10 papers from related work in the report in addition to the 2 papers provided by us.
Please pay attention to the tips in the format template, in particular:
- the correct structure of a scientific research article,
- the right use of figures and tables,
- the correct citation of other works.
Below you can find two very good reports from a previous seminar that you can use as blueprints while writing your report:
Do not forget the word of honor, declaring that you worked independently and did not plagiarize.
For any other question or doubt please contact Thomas Fritz.
This section describes how students can find useful related work on popular libraries. The following links are useful for finding the additional paper for your three response papers in part 1, as well as finding relevant papers for part 2:
The ACM Digital Library, IEEE Digital Library, Citeseer and GoogleScholar are very good online catalogues for technical literature search. Both the ACM and the IEEE publications can be downloaded for free from within the Uni Zürich domain.
Another good starting point are the proceedings of major conferences, such as:
- International Conference in Software Engineering (ICSE)
- Symposium on the Foundations of Software Engineering (FSE)
- Conference on Human Factors in Computing Systems (CHI)
- International Conference on Automated Software Engineering (ASE)
- Working Conference on Mining Software Repositories (MSR)
- International Conference on Program Comprehension (ICPC)
- International Conference on Software Maintenance and Evolution (ICSME)
Finally, the provided papers often cite relevant related work in the references section.
The report of each student goes through a first review phase, done by 2-3 other students. The goal of this first reviews is to give some useful feedback on the report, which should then be improved and modified accordingly.
The reviews take the following criteria into account:
- Technical quality (critical analysis of the topic)
- Logical structure (the structuring of the work)
- Presentation (the use of graphics and tables)
- Style (orthography and typos)
- References (significant selection of relevant literature)
Grade each report according to one of the following options:
- weak accept
- weak reject
Every participant has to review two to three other participants' reports. The whole reviewing process (the reports and their subsequent reviews submission) will be done through the EasyChair online platform. An email with all the necessary instructions will be sent after the seminar kick-off.
- The delivery website (Easy Chair) can be found here.
- You will have to create a new user account in EasyChair and then you can easily upload your report with the appropriate menu option. (EasyChair is the standard used for the submission and reviewing process for research conferences.)
- All the participants will present their work on a special presentation day (May 30th, 2016, from 09:30h - 13:00h (depending on number of students), room 1.D.07).
- Every presentation consists of a 15 minutes talk followed by a 10 minutes discussion.
- All participants need to have the presentation in electronic format (Microsoft PowerPoint, Apple Keynote or slides in PDF/PS). We provide both a beamer and a laptop to be used (in case you don't want to use your own laptop).
- Attendance to all the presentations is mandatory. Exceptions are made only if a proper, official excuse (e.g. doctor's excuse note) is given.
- Make sure that your talk includes enough background material and motivation so that it can be understood by those who are not specialists in what is being presented.
- Design your slides using large text and diagrams such that they can be read by anyone in the room. The person far away in the corner may be the one with central insights to your work, so make sure he/she gets the message, too.
- Do not place text on the slides that you will speak aloud anyway. The audience will read the text faster than you speak, and continuously experience lags. Slides and spoken word should support each other, and not be redundant representations of each other.
- Modern presentation programs can switch the laptop screen in presenter mode, showing the upcoming slides or presenter notes. Make use of these tools to ensure fluid transitions between slides and a smooth information flow.
- Spend at least one slide to clearly motivate your work, explicitly stating the problem you are addressing.
- Spend at least one slide on related work, such that the audience can place your work in a greater context.
- Do not end with a slide saying nothing but "Thank you!" or "Questions?" Instead, on the last slide, summarize your talk (problem, approach, results). Have this slide stay on the screen during the discussion; people will be able to recall your talk and provide insightful questions and comments.
- Presentations are allotted 25 minutes: 15 minutes for talk, 10 minutes for questions & answers. These limits will be strictly enforced.
The following are grading criteria/guidelines for the final report and the presentation (this is not a complete list, rather a list of hints):
5.50 - 6.0 : An excellent work
- The report represents works of an exceptional standard. It is a highly articulate and professional document and includes critical comments with extended justification. The author demonstrates initiative and originality in analysis or interpretation.
- The presentation is comprehensive and highly professional. The discussion is integrated into a logical, coherent whole. It tells a story and leads logically into the research presented.
5.0 - 5.50 : A high quality work
- The report is of a superior standard. It is well written, free of errors and includes coherent critical comments with substantial justification. The author demonstrates complex, deep understanding of the subject.
- The presentation is effective and comprehensive.
4.0 - 5.0 : A good work with just a couple of small weaknesses
- The report is complete, well structured and well presented. It is written in a clear style that communicates points effectively on first reading. It includes coherent critical comments with justification based on evidence. The author has some tendency to summarize literature then develop an integrativ and logical argument.
- The presentation identifies and defines the main issues in a clear yet somewhat simplistic way.
3.0 - 4.0 : An average work with clear weaknesses
- The report addresses the main themes but does not integrate or relate key ideas and issues efficiently. It is presented in an organized manner but may have style and expression irregularities that do not intefere with the meaning. It provides some basic critical comments that reflect a basic understanding of key issues. However, the the minimal critical analysis attempted lacks in depth and/or is confused. The author demonstrates the the literature in the field has been checked.
- The presentation is essentially descriptive and features minimal critical analysis. The main themes are presented but not well integrated. The author fails to tell a story.
0 - 3.0 : Insufficient work with many substantial weaknesses
- The report does not address the main themes, is disorganized, incoherent or reveals evidence of plagiarism. It provides little or no critical comments.
- The presentation is disorganized, incoherent and fails to effectively describe the topic.