ESCJ 15: Design issues for ESC/Java April 2nd, 1997 Private variables in spec’s? Modifies clauses? Specifications for interfaces? Vector-bounds checking?

Slides:



Advertisements
Similar presentations
Designing a Graphical User Interface (GUI) 10 IST – Topic 6.
Advertisements

OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
Operating Systems Operating system is the “executive manager” of all hardware and software.
Dept. of Computer Science A Runtime Assertion Checker for the Java Modeling Language (JML) Yoonsik Cheon and Gary T. Leavens SERP 2002, June 24-27, 2002.
Java Annotations. Annotations  Annotations are metadata or data about data. An annotation indicates that the declared element should be processed in.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
3F6: User Interface Examples - Steve Young Users never read the manual.
Software Evolution Managing the processes of software system change
Interaction Styles - Forms Dr.s Barnes and Leventhal.
Houdini: An Annotation Assistant for ESC/Java Cormac Flanagan and K. Rustan M. Leino Compaq Systems Research Center.
OOP #10: Correctness Fritz Henglein. Wrap-up: Types A type is a collection of objects with common behavior (operations and properties). (Abstract) types.
Describing Syntax and Semantics
Jonathan Kuhn Robin Mange EPFL-SSC Compaq Systems Research Center Flanagan, Leino, Lillibridge, Nelson, Saxe and Stata.
From C++ to C#. Web programming The course is on web programming using ASP.Net and C# The course is on web programming using ASP.Net and C# ASP.Net is.
Abstract Types Defined as Classes of Variables Jeffrey Smith, Vincent Fumo, Richard Bruno.
CS 355 – Programming Languages
(C) 2010 Pearson Education, Inc. All rights reserved. Java™ How to Program, 8/e.
7 th TTG meeting – Trieste – 3-4 March, 2015 SeaDataNet tools, new developments IFREMER : M. Fichaut, A. Briand, M. Larour, T. Loubrieu, V. Tosello ALTRAN.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
4 Dec 2001Kestrel1 From Patterns to Programming Languages Matthias Felleisen Northeastern University.
Presentation on SubmissionTrackingTool: by Anjan Sharma.
07 Coding Conventions. 2 Demonstrate Developing Local Variables Describe Separating Public and Private Members during Declaration Explore Using System.exit.
Computer Science and Engineering College of Engineering The Ohio State University Interfaces The credit for these slides goes to Professor Paul Sivilotti.
HSCI 709 SQL Data Definition Language. SQL Standard SQL-92 was developed by the INCITS Technical Committee H2 on Databases. SQL-92 was designed to be.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
1 Programming Tools Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 20.
Extended Static Checking for Java  ESC/Java finds common errors in Java programs: null dereferences, array index bounds errors, type cast errors, race.
Houdini, an annotation assistant for ESC/Java K. Rustan M. Leino Compaq SRC Joint work with Cormac Flanagan K. Rustan M. Leino Compaq SRC Joint work with.
Delphi Classes – roll your own l Delphi classes u Modify to change visibility of properties l Inherit from others u Add extra specialised behaviour l Create.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Software Engineering 4, Julian Richardson, 30 April Static Analysis Software Engineering HX3 Julian Richardson
INFS 6225 Object-Oriented Systems Analysis & Design Chapter 12: Construction.
Institute for Applied Information Processing and Communications (IAIK) – Secure & Correct Systems 1 Verification & Testing UEKönighofer, Khalimov, Rabensteiner2015.
Demo of Scalable Pluggable Types Michael Ernst MIT Dagstuhl Seminar “Scalable Program Analysis” April 17, 2008.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 ESC/Java2 Extended Static Checker for Java Dat ă primire laborator: Lab 1 Dat ă predare laborator:
Protocol Derivation Assistant Matthias Anlauff Kestrel Institute
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Java Annotations. Annotations  Annotations are metadata or data about data. An annotation indicates that the declared element should be processed in.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Designing a Newsletter PUBLISHER Objectives: Designing a Newsletter Why should you create a newsletter? When should you create a newsletter? How.
Extended Static Checking for Java Cormac Flanagan Joint work with: Rustan Leino, Mark Lillibridge, Greg Nelson, Jim Saxe, and Raymie Stata Compaq Systems.
ESCJ 14: ESC/Java Project Review Slides March 6th, 1997.
1 Lecture 8 b Data Structures b Abstraction b The “Structures” package b Preconditions and postconditions b Interfaces b Polymorphism b Vector class b.
COP INTERMEDIATE JAVA Inheritance, Polymorphism, Interfaces.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
escj 28 Compaq Confidential - Need to Know Required.
M&CML: A Monitoring & Control Specification Modeling Language
Extended Static Checking for Java
Why don’t programmers have to program in machine code?
Chapter 5: Enhancing Classes
A-level Computing Programming challenge 1: Fizzbuzz
More Sophisticated Behavior
Introduction to Software Process
Accessible Formal Methods A Study of the Java Modeling Language
Fix iTunes Error 11 Give a Ring on: Apple Mac Customer Support.
D I s , a ·.... l8l8.
Installing OpenRefine
CSC 480 Software Engineering
Conditional Statements
Tony Ardura, Austin Burnett, Rex Lacy, Shawn Neumann
Hoare-style program verification
I ll I
Programming Language Basics
' 1 A ./.\.l+./.\.l
Cooper Part II Making Well-Behaved Products Different Needs
Java Modeling Language (JML)
Building an annotated Corpus
Presentation transcript:

ESCJ 15: Design issues for ESC/Java April 2nd, 1997 Private variables in spec’s? Modifies clauses? Specifications for interfaces? Vector-bounds checking? Monitor invariants? Module-initialization checking? Abstract state?

Iterative design process Claim: We should navigate this design space by trial-and- error, getting feedback from the field. Implication: We should be less concerned with the particulars of the first version of the tool and very concerned that what we build can be easily modified

Look at design-space breadth first Identify what’s likely to be stable –Java syntax –Translation to guarded commands [?] Anticipate what’s likely to change –Desugaring of specifications –“Additional” annotations (e.g., invariants, LL)

Implications for user manual Limit time spent designing annotations Don’t use as primary basis for building checker