Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Dilian Gurov 2015-04-21 18:07

Visa < föregående | nästa >
Jämför < föregående | nästa >

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).

  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. It is due on April 24 at the lab reporting session.
  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. It is due on May 15 at the (moved) lab reporting session.
  3. 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, Clockwork Insight, FXCop, and the Clang Analyzer.
    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.