Till KTH:s startsida Till KTH:s startsida

Labs

There will be two laboratory assignments. These are to be carried out in teams of at most two, at home. The lab sessions are only for getting assistance and presenting the solutions (see instructions on the respective document). For each assignment there will be one dedicated help session and one reporting session. For the latter, please be on time and have your report printed and stapled, and a computer ready to execute your program.

  1. The first lab assignment is about implementing an interpreter for the While language based on the notion of abstract machines developed in Chapter 4 of the textbook. The help session for this lab is on April 7, while the reporting session is on April 25.
  2. The second lab assignment adapts the interpreter from the first one to run with abstract values instead of with concrete ones, thus implementing the abstract interpretation technique for program analysis developed in Chapter 7 of the textbook, but in an operational semantics style. The technique is applied to program transformation. The help session for this lab is on May 9, while the reporting session is on May 16.
    To report your second lab assignment, please select a time slot from this Doodle, on May 16 at 12:00 at the latest.

    An alternative option for the second lab assignment is to explore some popular static analysis tool. If you choose this option, please do the following:
    1. Select a popular static analysis tool that you can get hold of. Some of the best known ones are Coverity, Clocwork, FXCop, and the Clang Analyzer. Check also this list on Wikipedia.
    2. Install the tool on your machine. Make sure that it works properly by testing it on some examples.
    3. Send an e-mail to Dilian to get approval for your choice.
    4. Experiment with the tool. Find out what analyses the tool supports, and what technique is used for them (if this information can be found).
    5. Find the strengths and the limitations of the tool.
    6. Write a report that summarizes your findings about the tool:
      • easiness of installation and use,
      • supported checks and the underlying techniques,
      • small own examples showing the strengths and limitations of the tool.


Dilian Gurov skapade sidan 6 mars 2017

Dilian Gurov redigerade 29 mars 2017

There will be two laboratory assignments. These are to be carried out in teams of at most two, at home. The lab sessions are only for getting assistance and presenting the solutions (see instructions on the respective document). For each assignment there will be one dedicated help session and one reporting session. For the latter, please be on time and have your report printed and stapled, and a computer ready to execute your program.


* The first lab assignment is about implementing an interpreter for the While language based on the notion of abstract machines developed in Chapter 4 of the textbook. The help session for this lab is on April 7, while the reporting session is on April 25.
* The second lab assignment adapts the interpreter from the first one to run with abstract values instead of with concrete ones, thus implementing the abstract interpretation technique for program analysis developed in Chapter 7 of the textbook, but in an operational semantics style. The technique is applied to program transformation.
*
An alternative option for the second lab assignment is to explore some popular static analysis tool. If you choose this option, please do the following:
* Select a popular static analysis tool that you can get hold of. Some of the best known ones are Coverity, Clocwork, FXCop, and the Clang Analyzer. Check also this list on Wikipedia.
* Install the tool on your machine. Make sure that it works properly by testing it on some examples.
* Send an e-mail to Dilian to get approval for your choice.
* Experiment with the tool. Find out what analyses the tool supports, and what technique is used for them (if this information can be found).
* Find the strengths and the limitations of the tool.
* Write a report that summarizes your findings about the tool:
* easiness of installation and use,
* supported checks and the underlying techniques,
* small own examples showing the strengths and limitations of the tool.

Lärare kommenterade 5 april 2017

For the first lab help session on Friday, April 7, it is maybe more useful to move it closer to the reporting day (which is April 25). My suggestion is to move it to Tuesday, April 18, 10:00 - 12:00. We can decide on this in class on Friday morning.

Lärare kommenterade 7 april 2017

We agreed today in class that we move today's lab help session to Tuesday, April 18, 10:00 - 12:00 to computer lab room Grå. If you still would like to discuss the lab assignment with me today, I'll be in my office from 15:15 till 17:00 (i.e., during the original time of the lab session).

kommenterade 10 april 2017

Could this please be added to the schedule to avoid more misunderstandings?

kommenterade 11 april 2017

Can we assume generally that code/statements that could generate exceptions are always within a try-catch?

Lärare kommenterade 11 april 2017

Jenny, i sent a request to KTH Schema, but let's see whether they will react - so far they haven't.

Lärare kommenterade 11 april 2017

Johan, we don't assume this in this lab.

En användare har tagit bort sin kommentar
kommenterade 19 april 2017

When will the deadline for lab 2 be?

Dilian Gurov redigerade 20 april 2017

There will be two laboratory assignments. These are to be carried out in teams of at most two, at home. The lab sessions are only for getting assistance and presenting the solutions (see instructions on the respective document). For each assignment there will be one dedicated help session and one reporting session. For the latter, please be on time and have your report printed and stapled, and a computer ready to execute your program.


* The first lab assignment is about implementing an interpreter for the While language based on the notion of abstract machines developed in Chapter 4 of the textbook. The help session for this lab is on April 7, while the reporting session is on April 25.To report your lab assignment, please select a time slot from this Doodle.
* The second lab assignment adapts the interpreter from the first one to run with abstract values instead of with concrete ones, thus implementing the abstract interpretation technique for program analysis developed in Chapter 7 of the textbook, but in an operational semantics style. The technique is applied to program transformation.An alternative option for the second lab assignment is to explore some popular static analysis tool. If you choose this option, please do the following:
* Select a popular static analysis tool that you can get hold of. Some of the best known ones are Coverity, Clocwork, FXCop, and the Clang Analyzer. Check also this list on Wikipedia.
* Install the tool on your machine. Make sure that it works properly by testing it on some examples.
* Send an e-mail to Dilian to get approval for your choice.
* Experiment with the tool. Find out what analyses the tool supports, and what technique is used for them (if this information can be found).
* Find the strengths and the limitations of the tool.
* Write a report that summarizes your findings about the tool:
* easiness of installation and use,
* supported checks and the underlying techniques,
* small own examples showing the strengths and limitations of the tool.

Dilian Gurov redigerade 21 april 2017

There will be two laboratory assignments. These are to be carried out in teams of at most two, at home. The lab sessions are only for getting assistance and presenting the solutions (see instructions on the respective document). For each assignment there will be one dedicated help session and one reporting session. For the latter, please be on time and have your report printed and stapled, and a computer ready to execute your program.


* The first lab assignment is about implementing an interpreter for the While language based on the notion of abstract machines developed in Chapter 4 of the textbook. The help session for this lab is on April 7, while the reporting session is on April 25.To report your lab assignment, please select a time slot from this Doodle.
* The second lab assignment adapts the interpreter from the first one to run with abstract values instead of with concrete ones, thus implementing the abstract interpretation technique for program analysis developed in Chapter 7 of the textbook, but in an operational semantics style. The technique is applied to program transformation.An alternative option for the second lab assignment is to explore some popular static analysis tool. If you choose this option, please do the following:
* Select a popular static analysis tool that you can get hold of. Some of the best known ones are Coverity, Clocwork, FXCop, and the Clang Analyzer. Check also this list on Wikipedia.
* Install the tool on your machine. Make sure that it works properly by testing it on some examples.
* Send an e-mail to Dilian to get approval for your choice.
* Experiment with the tool. Find out what analyses the tool supports, and what technique is used for them (if this information can be found).
* Find the strengths and the limitations of the tool.
* Write a report that summarizes your findings about the tool:
* easiness of installation and use,
* supported checks and the underlying techniques,
* small own examples showing the strengths and limitations of the tool.

Dilian Gurov redigerade 24 april 2017

There will be two laboratory assignments. These are to be carried out in teams of at most two, at home. The lab sessions are only for getting assistance and presenting the solutions (see instructions on the respective document). For each assignment there will be one dedicated help session and one reporting session. For the latter, please be on time and have your report printed and stapled, and a computer ready to execute your program.


* The first lab assignment is about implementing an interpreter for the While language based on the notion of abstract machines developed in Chapter 4 of the textbook. The help session for this lab is on April 7, while the reporting session is on April 25.To report your lab assignment, please select a time slot from this Doodle.
* The second lab assignment adapts the interpreter from the first one to run with abstract values instead of with concrete ones, thus implementing the abstract interpretation technique for program analysis developed in Chapter 7 of the textbook, but in an operational semantics style. The technique is applied to program transformation. We decided to move the help session for this lab to May 9, and the reporting session to May 16.An alternative option for the second lab assignment is to explore some popular static analysis tool. If you choose this option, please do the following:
* Select a popular static analysis tool that you can get hold of. Some of the best known ones are Coverity, Clocwork, FXCop, and the Clang Analyzer. Check also this list on Wikipedia.
* Install the tool on your machine. Make sure that it works properly by testing it on some examples.
* Send an e-mail to Dilian to get approval for your choice.
* Experiment with the tool. Find out what analyses the tool supports, and what technique is used for them (if this information can be found).
* Find the strengths and the limitations of the tool.
* Write a report that summarizes your findings about the tool:
* easiness of installation and use,
* supported checks and the underlying techniques,
* small own examples showing the strengths and limitations of the tool.

kommenterade 12 maj 2017

How do we sign up for redovisning of lab 2?

Dilian Gurov redigerade 14 maj 2017

There will be two laboratory assignments. These are to be carried out in teams of at most two, at home. The lab sessions are only for getting assistance and presenting the solutions (see instructions on the respective document). For each assignment there will be one dedicated help session and one reporting session. For the latter, please be on time and have your report printed and stapled, and a computer ready to execute your program.


* The first lab assignment is about implementing an interpreter for the While language based on the notion of abstract machines developed in Chapter 4 of the textbook. The help session for this lab is on April 7, while the reporting session is on April 25.To report your lab assignment, please select a time slot from this Doodle.
* The second lab assignment adapts the interpreter from the first one to run with abstract values instead of with concrete ones, thus implementing the abstract interpretation technique for program analysis developed in Chapter 7 of the textbook, but in an operational semantics style. The technique is applied to program transformation. The help session for this lab is on May 9, while the reporting session is on May 16.To report your second lab assignment, please select a time slot from this Doodle.An alternative option for the second lab assignment is to explore some popular static analysis tool. If you choose this option, please do the following:
* Select a popular static analysis tool that you can get hold of. Some of the best known ones are Coverity, Clocwork, FXCop, and the Clang Analyzer. Check also this list on Wikipedia.
* Install the tool on your machine. Make sure that it works properly by testing it on some examples.
* Send an e-mail to Dilian to get approval for your choice.
* Experiment with the tool. Find out what analyses the tool supports, and what technique is used for them (if this information can be found).
* Find the strengths and the limitations of the tool.
* Write a report that summarizes your findings about the tool:
* easiness of installation and use,
* supported checks and the underlying techniques,
* small own examples showing the strengths and limitations of the tool.

kommenterade 16 maj 2017

Am I missing something or shouldn't the presentation of the lab take place in computer lab grå at the moment?