These slides are for internal Bandera meetings and are not meant to be publicly disclosed. Bandera Meeting: Sept 9, 2001
Agenda Welcome new members –Todd Wallentine, Adam Childs Semester goals Developing infrastructure and policies for regression testing Preliminary slicer regression testing suite Timeline for progress on regression testing Items for next week
New Members Todd Wallentine –Counterexample display Adam Childs –Infrastructure engineer
Semester Goals Procedures and infrastructure for unit, regression, and integration testing BIR backends Abstraction facilities Analysis infrastructure (new SOOT?) Counterexample display enhancements Incorporation of new components State-charts, environment generation, SyncGen checking Primary goals Secondary goals
Discussion New SOOT –How difficult is it to extend N-Soot’s static analysis to handle our extensions? –What exactly do we gain from N-Soot? –If we are implementing our own infrastructure in 801, why do we need new SOOT? Conclusion: postpone until 2002
Developing Robust Artifacts The concept of a robust artifact by Scott Ambler "Reuse, Patterns, and"Reuse, Patterns, and Anti-patterns" An item that is well-documented, built to meet general needs instead of project-specific needs, thoroughly tested, and has several examples to show how to work with it. Items with these qualities are much more likely to be reused than items without them. A Robust Artifact is an item that is easy to understand and work with.
Bandera Testing There are multiple ways that we could/should test. –We are not doing any of them well now At the very least, each person in charge of a particular module should develop a regression test suite –A collection of small programs that are design to test one particular section/case of your code. This way, if a single test breaks, you know immediately the area of the code to look at. –Each test has documentation describing the purpose of the test and the expected output –A html index summarizing all the tests and allowing browsing by others –A mechanism (e.g., a session file) that allows tests to be run easily –Regression test suites should be submitted to the entire group (or at least one other person) for approval. We need to emphasize XP concepts a bit more
Demo of Preliminary Slicer Regression Testing Suite
Testing Infrastructure Timeline September 30: outline of policy and methods –What infrastructure will we use? –What artifacts should each person develop? –How often should tests be carried out and by whom? September 30: initial regression testing suites (similar to slicer tests) –BOFA, JJJC, abstraction, BSL, inliner October 15: batch mode working –Examples for entire tool November 30: complete regression with diagnostic instrumentation –Instrumenting components to spit out various intermediate results not present at the BUI level
Next Week Meeting on Friday 3:30 due to faculty retreat on Thursday (John, reserve room) Todd will give us an overview of Junit – a tool for doing unit testing in Java –Take a few minutes and browse Discuss if and how to incorporate Junit into our regular development and testing
Oksana’s Problem Incorporate “beginAtomic”, “endAtomic”, other choose methods –Method from class Bandera are not inlined –Oksana & Matt make fix and send to Robby Jo