From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
From Uncertainty to Belief: Inferring the Specification Within - - PowerPoint PPT Presentation
From Uncertainty to Belief: Inferring the Specification Within Stephen McLaughlin Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within Overview Area: Program analysis and error checking / program specification
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
◮ Tools lack adequate specification. ◮ Good specifications are hard to make. ◮ More specifically, the ownership problem
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
◮ /*@null@*/ char *c - Forces a check for NULL before every
◮ /*@in@*/ int *i - Forces an actual parameter to be
◮ /*@out@*/ int *o - Forces the parameter to be completely
◮ Users can define their own annotations, which can themselves
◮ A method’s annotations can be obtained at runtime through
◮ @Override someMethod() - Compiler throws an error if the
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
◮ co - Claims ownership of a resource ◮ ro - Returns ownership ◮ ¬ro/¬co - ?
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
◮ One per annotation variable ◮ Adds a bias to each variable
◮ Two values that sum to 1 ◮ θOK and θBUG ◮ OK or BUG is decided by a FSM ◮ Normally want θOK > θBUG
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
◮ All call sites that return pointer ◮ String constants (treated as returned by ¬ro) (Why?) ◮ Pointer dereferences (treated as ¬co) (Why?)
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within
Stephen McLaughlin From Uncertainty to Belief: Inferring the Specification Within