| |
About this Seminar
Many software systems are poorly documented. Developers commonly spend
more time implementing new functionality than documenting existing one.
Underdocumented software is hard to understand and harder to evolve.
There is way too many bugs in software. Using automated testing it has
become possible to automatically generate test cases to explore program
behaviour. If only we could automatically distinguish intended
from unintended program behaviour, we could help developers by
automatically uncovering bugs in software, making it much easier to
develop reliable software.
Specifications can help address both of these issues: They document intended
software behaviour, help in software maintenance, make it easier to refactor
or add new features to software, and help in uncovering software bugs. If we
have a specification we can answer many questions on software:
- What is this code supposed to do?
- Does this code behave as intended, even in edge cases?
- Will this code still work if I change it?
- Are there any bugs in this code?
Everybody agrees it is crucial to have specifications in software, yet
99% of all software does not have any of them. This seminar focuses on
how to fix that by automatically mining specifications from software.
This seminar is going to loosely be based on the book
Mining Software Specifications
published by CRC Press. We are going to make it available as part of the
seminar and at the Campus Bibliothek
Informatik + Mathematik as necessary.
Place and Time
- Weekly meeting: Every Monday, 9:00 - 10:00, Building E1.1, Room 1.09.
- Summary hand-in: Until Sunday, 17:00. Send a PDF by mail to specmine2011@st.cs.uni-saarland.de, include your student id.
Important Dates
-
Daikon Hand-In, Question 1: Until Wednesday, November 30, 17:00.
Send a PDF with your answers by mail to specmine2011@st.cs.uni-saarland.de, include your student id.
-
Daikon Hand-In, Question 2–4: Until Friday, December 30, 17:00.
Send a PDF with your answers by mail to specmine2011@st.cs.uni-saarland.de, include your student id.
- End-term presentation: Saturday, March 17, 9:30 – ca. 5:30 pm: Building E1.1, Room 4.07
- In this session every student is going to hold a formal presentation (25 minutes + 5 minutes for Q&A, with slides) on their topic. There will be pizza involved. Material to help you give a good talk:
- You will need to hand in an annotated version of your slides (with comments in your slideset) after your presentation.
- This will count as your final write-up. It should be self-contained enough to tell the full story behind your topic.
Schedule for Saturday, March 17
- 9:30 – 10:00: Introduction to Specification Mining:
- Based on Chapter 1 of the book, written by David Lo, Siau-Cheng Khoo, Chao Liu, and Jiawei Han
- Assigned to: Mehdi
- 10:00 – 10:30: Mining annotated Finite-State Automatons:
- Based on Chapter 2 of the book, written by Leonardo Mariani, Fabrizio Pastore, Mauro Pezzè, and Mauro Santoro
- Assigned to: Oliver
- 10:30 – 11:00: Dynamically Discovering Program Invariants (Daikon):
- 11:30 – 12:00: Grammar Inference Technique for State Machine Mining:
- Based on Chapter 3 of the book, written by Neil Walkinshaw and Kirill Bogdanov
- Assigned to: Evica
- 12:00 – 12:30: Mining API Usage Protocols from Large Method Traces:
- Based on Chapter 4 of the book, written by Michael Pradel and Thomas R. Gross
- Assigned to: Krishna
- 12:30 – 13:00: Generating Test Cases for Specification Mining (Tautoko):
60 minute break with pizza
- 14:00 – 14:30: Static API Specification Mining and Source Code Model Checking:
- Based on Chapter 5 of the book, written by Mithun Acharya and Tao Xie
- Assigned to: Daniil
- 14:30 – 15:00: Finding Usage Patterns and Their Violations by Mining Software Repositories (DynaMine):
- Based on Chapter 7 of the book, written by Benjamin Livshits and Thomas Zimmermann
- Assigned to: Andreas
- 15:00 – 15:30: Automatic Inference and Effective Application of Temporal Specifications:
- Based on Chapter 8 of the book, written by Jinlin Yang and David Evans
- Assigned to: Karsten
- 16:00 – 16:30: Specification Inference for Explicit Information Flow Problems (Merlin):
- Based on Chapter 11 of the book, written by Benjamin Livshits, Aditya V. Nori, Sriram K. Rajamani, and Anindya Banerjee
- Assigned to: Marie-Therese
- 16:30 – 17:00: Lightweight Mining of Object Usage:
- Based on Chapter 12 of the book, written by Andrzej Wasylkowski and Andreas Zeller
- Assigned to: Mykola
- 17:00 – 17:30: Mining temporal specifications from object usage:
Requirements for successful participation
- Important: You can only take part in this seminar after you have successfully registered for it. Registration is now closed.
- Prerequisites: This seminar is suitable for all students, bachelor's or master's, who are interested in software engineering and its applications. You don't need to have any prior knowledge
regarding the subject, however participation in any other course offered by the Software Engineering chair might be useful.
- Hands-on project: Daikon
- For each meeting:
- Hand in a summary until Sunday, 17:00 before each meeting. Send a PDF by mail to specmine2011@st.cs.uni-saarland.de, include your student id.
- Your summary should give a good overview of the material that will be discussed in the following session. It is intended to show us that you familiarized yourself with the material.
- You should also include ~3 questions on the material to prepare yourself for the discussion.
- On each session we will ask one student to kick-start the discussion based on their summary (~5 minutes). This is an opportunity for you to get early feedback on your presentation style.
- We also offer (ungraded) opportunities to present your summary in form of a five-minute presentation, allowing you to get early feedback on your presentation style.
- End-term presentation (see above)
- Grading: Your final grade will consist of the following components:
- 40 % based on your final presentation
- 20 % based on the annotated slides
- 40 % based on participation in discussions / handed-in summaries / hands-on projects
HISPOS
Please remember to register yourself in the HISPOS system. We can only provide
you with a certificate ("Schein") at the end of the term, if you have registered
for our seminar in the HISPOS system.
Information on how to register is available here.
Advisors
<webmaster@st.cs.uni-saarland.de> · http://www.st.cs.uni-saarland.de/edu/specmine11/ · Stand: 2018-04-05 13:40
|
---|