HBV601G Hugbúnaðarverkefni 2 - Static Analysis Verkefni - Gildi 10% Clean Baseline/Hrein Grunnlína HBV601G Hugbúnaðarverkefni 2 - Static Analysis Verkefni - Gildi 10% Deadline: 10.00 a.m. on April 17th. April 21st. Aim The aim is to create a clean version of the code i.e. fix all the warnings from a set of static analysis tools applied to your code. During this work, code may be may refactored using the refactoring capabilities of the tools. Make use of two use cases to check that your code continues to function normally after making changes. Java groups should apply Findbugs, Checkstyle, and RefactorIT metrics. Python groups should apply Pydev, Pydev Extensions and PyMetrics. PHP groups should apply PHPLint, Spike PHPCheckstyle, and PHP Depend. Assessment Assessment is by presentation and demonstration. Groups will give a 25 minute Powerpoint presentation. Presentations and “before and after” demonstrations are provisionally scheduled for April 21st. April 24th. Presentation materials The first slide, in addition to a title, must contain the names of all the group members and the name of the module. The Notes for the first slide should be about introducing the group to your audience. The first slide must also contain the following statement. By including this statement, you are agreeing with it. If you plagiarize material your degree will be at risk. “This project is all our own work. We have not knowingly allowed others to copy our work. We have not submitted this work in any other context.” Each slide of the presentation should include some “Notes”1. These “Notes” should represent what you would say to explain the contents of the slide. Keep each note to 120 words or less. Each slide should be numbered, dated, and have your group identification. Slides should not be overloaded with material. Marks will be lost if the font size is so small it would be impossible for the slide to be read by someone in a lecture theatre. You must include the following slide topics. Do not use more than one slide on each topic. Each slide & notes is worth 1% except where indicated. 1. 2. 3. 4. 5. Title slide. (First slide) Screenshot(s) explaining first use case. (0,5%) Screenshot(s) explaining second use case. (0,5%) Tools used and justifications of tool settings used. A table showing before and after warning counts regarding coding style and other bug detections. Provide a module or method level view as appropriate. 6. A table showing before and after values for selected metrics. Provide a module or method level view as appropriate. 7. Most serious warnings: explain the three most serious warnings that were fixed. 1 This is a built-in feature of PowerPoint. 1 HBV601G Hugbúnaðarverkefni 2 - Static Analysis Verkefni - Gildi 10% 8. Most serious refactorings: explain the three most serious refactorings that were performed. 9. PotLuck: choose one topic to investigate in detail. (2%) a. Pareto chart for warning types. http://en.wikipedia.org/wiki/Pareto_chart b. Deeply unfamiliar Java, Python or PHP (where an understanding was required to perform refactoring and/or interpret warnings) c. Results of applying an additional static analysis tool. 10. Conclusions. (Last slide) Submission Instructions Each group, in a single e-mail, should e-mail a copy of the Powerpoint presentation GroupX.ppt), to the teacher (andy@hi.is) by 10.00 a.m. on April 17th April 21st. The e-mail Subject header should be: GroupX Assignment. The body of the e-mail message should include the names of the group members. Late submissions will not be accepted. At the presentations, each group should prepare 2 printed copies of presentation materials (slides and notes) to distribute to teaching staff. Notes and Advice Marking will be to 0.5%. If the PotLuck section is particularly well done, a 1% bonus mark may be awarded, but the maximum project mark remains at 10%. A student failing to attend their own group presentation scores 0%. There is a 2% deduction for (i) 5 missing notes in presentation materials, or (ii) failing to attend a presentation by other another group. Marks will be lost in presentations for (i) failing to keep to slide order and content, or (ii) failing to keep to time. Failure to provide a “before and after” demonstration has a penalty of -3%. Failure to provide an “after” demonstration results in a mark of 0%. Failure to provide a demonstration of any static analysis tool used has a penalty of -3%. Do not rely on network access to give your presentation, burn a CD or memory stick with all relevant materials. You are permitted one e-mail or phone consultation with the teacher. Do not leave working with PowerPoint until the last minute. As a general rule, expect to work 90 minutes for every 1% value of an assignment. Dr Andy Brooks (andy@hi.is, GSM 869 3974) þriðjudagur, 24. mars 2009 http://staff.unak.is/not/andy/StaticAnalysis0809/static_analysis.htm 2