Xisa: Extensible Inductive Shape Analysis

Size: px
Start display at page:

Download "Xisa: Extensible Inductive Shape Analysis"

Transcription

1 Xisa: Extensibe Inductive Shape Anaysis Bor-Yuh Evan Chang U of Coorado, Bouder Xavier Riva INRIA/ENS Paris George C. Necua U of Caifornia, Berkeey Additiona Contributors: Vincent Laviron, James Hoey, Danie Stuzman Carnegie Meon University March 16, 2011

2 The promise of program anaysis: Eiminate entire casses of bugs For exampe, Reading from a cosed fie: Reacquiring a ocked ock: read( ); acquire( ); How? Systematicay examine the program Simuate running program on a inputs Automated code review 2

3 Program anaysis by exampe: Checking for doube acquires Simuate running program on a inputs code // x now points to an unocked ock acquire(x); anaysis state code x acquire(x); code 3

4 Program anaysis by exampe: Checking for doube acquires Simuate running program on a inputs code // x now points to an unocked ock in a inked ist idea anaysis state or or or x acquire(x); code x x 4

5 Must abstract code Abstraction too coarse or not precise enough (e.g., ost x is aways unocked) // x now points to an unocked ock in a inked ist idea anaysis state or or or anaysis state x acquire(x); code x misabes good code as buggy x For decidabiity, must abstract mode a inputs (e.g., merge objects) x 5

6 To address the precision chaenge Traditiona program anaysis mentaity: Why can t deveopers write more specifications for our anaysis? Then, we coud verify so much more. Since deveopers won t write specifications, we wi use defaut abstractions (perhaps coarse) that work hopefuy most of the time. Cooperative approach: Can we design program anayses around the user? Deveopers write testing code. Can we adapt the anaysis to use those as specifications? 6

7 Summary of overview Chaenge in anaysis: Finding a good abstraction precise enough but not more than necessary Powerfu, generic abstractions expensive, hard to use and understand Buit-in, defaut abstractions often not precise enough (e.g., data structures) Cooperative approach: Must invove the user in abstraction without expecting the user to be a program anaysis expert 7

8 Overview of contributions Extensibe Inductive Shape Anaysis (Xisa) Precise inference of data structure properties Abe to check, for instance, the ocking exampe Targeted to software deveopers Uses data structure checking code for guidance Turns testing code into a specification for static anaysis Efficient Buids abstraction out of deveoper-suppied checking code 8

9 End-user approach Extensibe Inductive Shape Anaysis Precise inference of data structure properties

10 Shape anaysis is a fundamenta anaysis Precise heap abstraction needed to anayze Traditiona anguages (C, Java) Web scripting anguages Improves verifiers that try to Eiminate resource usage bugs (ocks, fie handes) Eiminate memory errors (eaks, danging pointers) Eiminate conrency errors (data races) Vaidate deveoper assertions Enabes program transformations Compie-time garbage coection Data structure refactorings 10

11 Shape anaysis by exampe: Removing dupicates Exampe/Testing Code Review/Static Anaysis sorted d ist // is a sorted douby-inked ist for each node in ist { } remove if dupicate; assert is sorted, douby-inked with no dupicates; 2 4 program-specific intermediate state more compicated segment with no dupicates no dupicates sorted d ist 11

12 Shape anaysis is not yet practica Choosing the heap abstraction difficut for precision Some representative approaches: 89 TVLA [Sagiv et a.] Space Invader [Distefano et a.] Parametric in ow-eve, anayzer-oriented predicates + Very genera and expressive - Harder for non-expert Buit-in high-eve predicates - Harder to extend + No additiona user effort (if precise enough) Cooperative approach: Xisa Parametric in high-eve, deveoper-oriented predicates + Extensibe + Targeted at deveopers 12

13 Our approach: Executabe specifications Utiize run-time checking code as specification for static anaysis. h.d(p) := if h = (h nu = nu) Æ emp then Ç 9n. true h nu Æ ese h prev p h!prev h next = n p and h!next.d(h) n.d(h) checker p specifies where prev shoud point Contribution: Buid assert(.sorted_d( )); the abstraction for anaysis out of deveoper-specified for each node in ist { checking remove code if dupicate; Contribution: Generaize checkers for compicated intermediate states } assert(.sorted_d_nodup( )); 13

14 Xisa is An automated shape anaysis with a precise memory abstraction based around invariant checkers. h.d(p) = if (h = nu) then true ese h!prev = prev and h!next.d(h) checkers Xisa Extensibe and targeted for deveopers Parametric in deveoper-suppied checkers viewed as inductive definitions in separation ogic Precise yet compact abstraction for efficiency Data structure-specific based on properties of interest to the deveoper 14

15 Shape anaysis is an abstract interpretation on abstract memory descriptions with Spitting of summaries (materiaization) To refect updates precisey And summarizing for termination (widening) 15

16 Must materiaize summaries to interpret updates precisey Want abstract update to be exact, that is, to update one concrete memory ce. The exampe at a high-eve: iterate using changing the douby-inked ist from purpe to red. How does the anaysis spit summaries and know where to spit? spit at update purpe to red 16

17 Roadmap: Components of Xisa Learn information about checkers to use them effectivey h.d(p) = if (h = nu) then true ese h!prev = prev and h!next.d(h) checkers checker anaysis ( pre-program anaysis ) Defining a program anaysis: program anaysis 1. The abstraction (e.g., separation ogic formuas with inductive definitions) and operations on the abstraction (e.g., checker unfoding, update) anaysis 2. How to effectivey appy the operations (harder!) spitting and interpreting update abstract interpretation Xisa shape anayzer summarizing Chaenge: Checkers are incompete specs 17

18 Memory abstraction as separating shape graphs Memory partitioned into regions Graph abstraction nu address/vaue prev next data ± Region summarization segment summary d(nu) d( ) prev 4 next ± memory ce nu d( ) inductive predicate (checker) Segment generaization of a checker (.d(nu) up to.d( )) 18

19 Unfod inductive definitions to spit summaries Definition yieds graph unfoding rues h.d(p) := h = nu Æ emp Ç 9n. h nu Æ h prev p h next n n.d(h) unfod = nu d( ) Ç prev next d( ) To materiaize!next!next d(nu) d( ) next prev ± unfod here d( ) 19

20 Aso need a backwards unfoding d(nu) d( ) prev next d( ) Technica Detais: How does the anaysis do this unfoding? backwards unfoding for!prev!next Why is this unfoding aowed? ± = Æ = nu next d( ) prev d(nu) d(") next " prev Ç prev next ± ± d( )!prev!next =!next; for each node in ist { remove if dupicate; } assert is sorted, doubyinked with no dupicates; (Key: Segments are aso inductivey defined) [POPL 08] How does the anaysis know to do this unfoding? 20

21 Roadmap: Components of Xisa Derives additiona information to guide unfoding h.d(p) = if (h = nu) then true ese h!prev = prev and h!next.d(h) checkers Contribution: Turns testing code into specification for static anaysis checker anaysis ( pre-program anaysis ) checker anaysis program anaysis How do we decide where to unfod? spitting and interpreting update abstract interpretation Xisa shape anayzer summarizing 21

22 Leve types for deciding where to unfod Summary Instance nu prev d(nu) d( ) next prev next prev.d(nu).d( ).d( ) ±.d( ) nu.d(±) d( ) next ± prev Checker Run (ca tree/derivation) Says: next nu For h!next/h!prev, unfod from h For p!next/p!prev, unfod before h If it exists, where is:!next?!next? Checker Definition h:{nexth i, prevh i } p:{nexth i,prevh i } h.d(p) = if (h = nu) then true ese h!prev = p and h!next.d(h) 22

23 Leve types make the anaysis robust with respect to how checkers are written Douby-inked ist checker (as before) h:{nexth i, prevh i } p:{nexth i,prevh i } Summary h.d(p) = if (h = nu) then d( ) d( ) d( ) true Instance ese next next nu h!prev = p and prev prev h!next.d(h) Aternative douby-inked ist checker h:{nexth i, prevh i } h.d Summary 0 () =!prev? if (h!next = nu) then Instance d 0 d 0 d 0 next next nu prev Different types for different unfoding true ese h!next!prev = h and h!next.d 0 () 23

24 Summary of checker parameter types Te where to unfod for which fieds Make anaysis robust with respect to how checkers are written Learn where in summaries unfoding won t hep Can be inferred automaticay with a fixedpoint computation on the checker definitions 24

25 Summary of interpreting updates Spitting of summaries needed for precision Unfoding checkers is a natura way to do spitting When checker traversa matches code traversa Checker parameter type anaysis Usefu for guiding unfoding in difficut cases, for exampe, back pointer traversas 25

26 Roadmap: Components of Xisa checker anaysis ( pre-program anaysis ) program anaysis h.d(p) = if (h = nu) then true ese h!prev = prev and h!next.d(h) checkers checker anaysis spitting and interpreting update summarizing abstract interpretation Xisa shape anayzer 26

27 Summarize by foding into inductive predicates ast = ; =!next; whie (!= nu) { //, ast if ( ) ast = ; =! next; } Previous approaches guess where to fod for each graph. Contribution: Determine where by comparing graphs across history, ast next next ast ist next ist next next next ast ist summarize next ast ist ist Chaenge: Precision (e.g., ast, separated by at east one step) ist 27

28 Use iteration history with a widening operator Match regions ist ist ist next next ist Appy oca weakening rues on each region ist ist next ist Widened resut ist ist 28

29 Given checkers, everything is automatic checker anaysis ( pre-program anaysis ) program anaysis h.d(p) = if (h = nu) then true ese h!prev = prev and h!next.d(h) checkers checker anaysis spitting and interpreting update summarizing abstract interpretation Xisa shape anayzer 29

30 Resuts: Performance Expressiveness: Different data structures Benchmark Max. Num. Graphs at a Program Pt Anaysis Time (ms) singy-inked ist reverse 1 TVLA: 290 ms 1.0 douby-inked ist reverse Space Invader douby-inked ist copy ony anayzes 2 ists 5.4 douby-inked ist remove (buit-in) douby-inked ist remove and back search tree with parent insert 3 TVLA: 850 ms 16.6 search tree with parent insertand back two-eve skip ist rebaance Linux scu driver (894 oc) (char arrays ignored, functions inined) Verified shape invariant as given by the checker is preserved across the operation. Times negigibe for data structure operations (often in sec or 1 / 10 sec)

31 Demo: Douby-inked ist reversa Body of oop over the eements: Swaps the next and prev fieds of r. Ongoing Undergraduate Project: Better memory visuaization + Ecipse integration + User study Aready reversed segment Node whose next and prev fieds were swapped Not yet reversed ist 31

32 Summary of Xisa: Extensibe Inductive Shape Anaysis Key Insight: Checkers as specifications Deveoper View: Anaysis View: Constructing the program anaysis Goba, Expressed in a famiiar stye Capture deveoper intent, Not arbitrary inductive definitions Intermediate states: Generaized segment predicates c( ) c 0 ( 0 ) Spitting: Checker parameter types with eves h : {nexth i, prevh i} p : {nexth i, prevh i} Summarizing: History-guided approach with widening op ist next ist ist ist ist 32

33 Subsequent Work C-Leve Memory Abstraction [ESOP 10] Separating shape graphs support mixing higheve (e.g., record fieds) and ow-eve (e.g., union fieds) memory abstractions Very Context-Sensitive Interprocedura Anaysis [POPL 11] Whoe program, state-based interprocedura anaysis using Xisa Make ca stack expicit and summarize using shape invariants 33

34 Future work: Expoiting common specification framework Scenario: Code instrumented with ots of checker cas (perhaps automaticay with object invariants) assert( mychecker(x) ); // operation on x assert( mychecker(x) ); Can we prove parts staticay? Static Anaysis View: Hybrid checking Testing View: Exampe: Insert in a sorted ist Very sow to execute Hard to prove staticay (in genera) Incrementaize invariant checking u v w Preservation of sortedness shown staticay Emit run-time check for new eement: u v w 34

35 Concusion Extensibe Inductive Shape Anaysis precision demanding program anaysis improved by nove user interaction Deveoper: Gets resuts corresponding to intuition Anaysis: Focused on what s important to the deveoper Practica precise toos for better software with a cooperative approach! 35

36 What can inductive shape anaysis do for you?

Shape Analysis with Structural Invariant Checkers

Shape Analysis with Structural Invariant Checkers Shape Anaysis with Structura Invariant Checkers Bor-Yuh Evan Chang Xavier Riva George C. Necua University of Caifornia, Berkeey SAS 2007 Exampe: Typestate with shape anaysis Concrete Exampe Abstraction

More information

Sample of a training manual for a software tool

Sample of a training manual for a software tool Sampe of a training manua for a software too We use FogBugz for tracking bugs discovered in RAPPID. I wrote this manua as a training too for instructing the programmers and engineers in the use of FogBugz.

More information

Calling Context Abstraction with Shapes

Calling Context Abstraction with Shapes Calling Context Abstraction with Shapes Xavier Rival INRIA/ENS Paris Bor-Yuh Evan Chang 張博聿 U of Colorado, Boulder National Taiwan University December 17, 2010 Work to Appear in POPL 2011 Programming Languages

More information

understood as processors that match AST patterns of the source language and translate them into patterns in the target language.

understood as processors that match AST patterns of the source language and translate them into patterns in the target language. A Basic Compier At a fundamenta eve compiers can be understood as processors that match AST patterns of the source anguage and transate them into patterns in the target anguage. Here we wi ook at a basic

More information

Separating Shape Graphs

Separating Shape Graphs Separating Shape Graphs Vincent Laviron Bor-Yuh Evan Chang Xavier Rival ENS University of Colorado INRIA Boulder ENS European Symposium on Programming 1/ 23 Shape Analysis Analysis of programs using dynamic

More information

SPT: Storyboard Programming Tool

SPT: Storyboard Programming Tool SPT: Storyboard Programming Too The MIT Facuty has made this artice openy avaiabe. Pease share how this access beneits you. Your story matters. Citation As Pubished Pubisher Singh, Rishabh, and Armando

More information

An Introduction to Design Patterns

An Introduction to Design Patterns An Introduction to Design Patterns 1 Definitions A pattern is a recurring soution to a standard probem, in a context. Christopher Aexander, a professor of architecture Why woud what a prof of architecture

More information

Microsoft Visual Studio 2005 Professional Tools. Advanced development tools designed for professional developers

Microsoft Visual Studio 2005 Professional Tools. Advanced development tools designed for professional developers Microsoft Visua Studio 2005 Professiona Toos Advanced deveopment toos designed for professiona deveopers If you re a professiona deveoper, Microsoft has two new ways to fue your deveopment efforts: Microsoft

More information

file://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01

file://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01 Page 1 of 15 Chapter 9 Chapter 9: Deveoping the Logica Data Mode The information requirements and business rues provide the information to produce the entities, attributes, and reationships in ogica mode.

More information

An Optimizing Compiler

An Optimizing Compiler An Optimizing Compier The big difference between interpreters and compiers is that compiers have the abiity to think about how to transate a source program into target code in the most effective way. Usuay

More information

The Big Picture WELCOME TO ESIGNAL

The Big Picture WELCOME TO ESIGNAL 2 The Big Picture HERE S SOME GOOD NEWS. You don t have to be a rocket scientist to harness the power of esigna. That s exciting because we re certain that most of you view your PC and esigna as toos for

More information

index.pdf March 17,

index.pdf March 17, index.pdf March 17, 2013 1 ITI 1121. Introduction to omputing II Marce Turcotte Schoo of Eectrica Engineering and omputer Science Linked List (Part 2) Tai pointer ouby inked ist ummy node Version of March

More information

Distance Weighted Discrimination and Second Order Cone Programming

Distance Weighted Discrimination and Second Order Cone Programming Distance Weighted Discrimination and Second Order Cone Programming Hanwen Huang, Xiaosun Lu, Yufeng Liu, J. S. Marron, Perry Haaand Apri 3, 2012 1 Introduction This vignette demonstrates the utiity and

More information

Bottom-Up Parsing LR(1)

Bottom-Up Parsing LR(1) Bottom-Up Parsing LR(1) Previousy we have studied top-down or LL(1) parsing. The idea here was to start with the start symbo and keep expanding it unti the whoe input was read and matched. In bottom-up

More information

Outerjoins, Constraints, Triggers

Outerjoins, Constraints, Triggers Outerjoins, Constraints, Triggers Lecture #13 Autumn, 2001 Fa, 2001, LRX #13 Outerjoins, Constraints, Triggers HUST,Wuhan,China 358 Outerjoin R S = R S with danging tupes padded with nus and incuded in

More information

May 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home]

May 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home] "Using Python": a Book Preview May 13, 1995 Mark Lutz Bouder, Coorado utz@kapre.com (303) 546-8848 [work] (303) 684-9565 [home] Introduction. This paper is a brief overview of the upcoming Python O'Reiy

More information

Section 3: Exploring 3D shapes

Section 3: Exploring 3D shapes Section 3: Exporing 3D shapes Contents Section 3: Exporing 3D shapes 3 1. Using practica work 3 2. A cross-curricuar approach 5 3. Using practica work to consoidate earning 6 Resource 1: Coecting and making

More information

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program?

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program? Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Spring 2018 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program a set of

More information

Section 3 : Exploring 3D shapes

Section 3 : Exploring 3D shapes Section 3 : Exporing 3D shapes Copyright 2016 The Open University Contents Section 3: Exporing 3D shapes 3 1. Using practica work 3 2. A cross-curricuar approach 4 3. Using practica work to consoidate

More information

Functions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7

Functions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7 Functions Unit 6 Gaddis: 6.1-5,7-10,13,15-16 and 7.7 CS 1428 Spring 2018 Ji Seaman 6.1 Moduar Programming Moduar programming: breaking a program up into smaer, manageabe components (modues) Function: a

More information

Quick Start Instructions

Quick Start Instructions Eaton Power Xpert Gateway Minisot (PXGMS) UPS Card Quick Start Instructions Ethernet 10/100 Status DHCP EMP + - CMN 100 Act Ident Power PXGMS UPS Restart TX Setup RX Package Contents Power Xpert Gateway

More information

Special Edition Using Microsoft Excel Selecting and Naming Cells and Ranges

Special Edition Using Microsoft Excel Selecting and Naming Cells and Ranges Specia Edition Using Microsoft Exce 2000 - Lesson 3 - Seecting and Naming Ces and.. Page 1 of 8 [Figures are not incuded in this sampe chapter] Specia Edition Using Microsoft Exce 2000-3 - Seecting and

More information

Dynamic Symbolic Execution of Distributed Concurrent Objects

Dynamic Symbolic Execution of Distributed Concurrent Objects Dynamic Symboic Execution of Distributed Concurrent Objects Andreas Griesmayer 1, Bernhard Aichernig 1,2, Einar Broch Johnsen 3, and Rudof Schatte 1,2 1 Internationa Institute for Software Technoogy, United

More information

Data Management Updates

Data Management Updates Data Management Updates Jenny Darcy Data Management Aiance CRP Meeting, Thursday, November 1st, 2018 Presentation Objectives New staff Update on Ingres (JCCS) conversion project Fina IRB cosure at study

More information

l Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge

l Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge Trees & Heaps Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Fa 2016 Ji Seaman 1 Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node

More information

MACHINE learning techniques can, automatically,

MACHINE learning techniques can, automatically, Proceedings of Internationa Joint Conference on Neura Networks, Daas, Texas, USA, August 4-9, 203 High Leve Data Cassification Based on Network Entropy Fiipe Aves Neto and Liang Zhao Abstract Traditiona

More information

AgreeYa Solutions. Site Administrator for SharePoint User Guide

AgreeYa Solutions. Site Administrator for SharePoint User Guide AgreeYa Soutions Site Administrator for SharePoint 5.2.4 User Guide 2017 2017 AgreeYa Soutions Inc. A rights reserved. This product is protected by U.S. and internationa copyright and inteectua property

More information

Origami Axioms. O2 Given two marked points P and Q, we can fold a marked line that places P on top of Q.

Origami Axioms. O2 Given two marked points P and Q, we can fold a marked line that places P on top of Q. Origai Axios Given a piece of paper, it is possibe to fod ots of different ines on it. However, ony soe of those ines are constructibe ines, eaning that we can give precise rues for foding the without

More information

Department of Computer Science. AIMS Verification HT 2018

Department of Computer Science. AIMS Verification HT 2018 Department of Computer Science AIMS Verification HT 2018 Outine Back Hats Back Hats Exempars for entry points of attacks Symboic Execution Basic idea of soving the formuas Path-based Merging paths Automated

More information

Relational Model. Lecture #6 Autumn, Fall, 2001, LRX

Relational Model. Lecture #6 Autumn, Fall, 2001, LRX Reationa Mode Lecture #6 Autumn, 2001 #06 Reationa Mode HUST,Wuhan,China 121 Reationa Mode Tabe = reation. Coumn headers = attributes. Row = tupe Reation schema = name(attributes). Exampe: Beers(name,

More information

A Petrel Plugin for Surface Modeling

A Petrel Plugin for Surface Modeling A Petre Pugin for Surface Modeing R. M. Hassanpour, S. H. Derakhshan and C. V. Deutsch Structure and thickness uncertainty are important components of any uncertainty study. The exact ocations of the geoogica

More information

International Laboratory Accreditation Cooperation. The ILAC Mutual Recognition Arrangement

International Laboratory Accreditation Cooperation. The ILAC Mutual Recognition Arrangement Internationa Laboratory Accreditation Cooperation The ILAC Mutua Recognition Arrangement Enhancing the acceptance of products and services across nationa borders Removing barriers to goba trade Accreditation

More information

A Comparison of a Second-Order versus a Fourth- Order Laplacian Operator in the Multigrid Algorithm

A Comparison of a Second-Order versus a Fourth- Order Laplacian Operator in the Multigrid Algorithm A Comparison of a Second-Order versus a Fourth- Order Lapacian Operator in the Mutigrid Agorithm Kaushik Datta (kdatta@cs.berkeey.edu Math Project May 9, 003 Abstract In this paper, the mutigrid agorithm

More information

Straight-line code (or IPO: Input-Process-Output) If/else & switch. Relational Expressions. Decisions. Sections 4.1-6, , 4.

Straight-line code (or IPO: Input-Process-Output) If/else & switch. Relational Expressions. Decisions. Sections 4.1-6, , 4. If/ese & switch Unit 3 Sections 4.1-6, 4.8-12, 4.14-15 CS 1428 Spring 2018 Ji Seaman Straight-ine code (or IPO: Input-Process-Output) So far a of our programs have foowed this basic format: Input some

More information

NCH Software Express Delegate

NCH Software Express Delegate NCH Software Express Deegate This user guide has been created for use with Express Deegate Version 4.xx NCH Software Technica Support If you have difficuties using Express Deegate pease read the appicabe

More information

ngenius Instrumentation Overview

ngenius Instrumentation Overview ngenius Instrumentation Overview NetScout Systems, Inc. 4 Technoogy Park Drive Westford, MA 01886 Teephone: 978-614-4000 Fax: 978-614-4004 Web: http://www.netscout.com NetScout is a registered trademark

More information

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Lecture 4: Threads

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Lecture 4: Threads CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Lecture 4: Threads Announcement Project 0 Due Project 1 out Homework 1 due on Thursday Submit it to Gradescope onine 2 Processes Reca that

More information

Welcome - CSC 301. CSC 301- Foundations of Programming Languages

Welcome - CSC 301. CSC 301- Foundations of Programming Languages Wecome - CSC 301 CSC 301- Foundations of Programming Languages Instructor: Dr. Lutz Hame Emai: hame@cs.uri.edu Office: Tyer, Rm 251 Office Hours: TBA TA: TBA Assignments Assignment #0: Downoad & Read Syabus

More information

Bridge Talk Release Notes for Meeting Exchange 5.0

Bridge Talk Release Notes for Meeting Exchange 5.0 Bridge Tak Reease Notes for Meeting Exchange 5.0 This document ists new product features, issues resoved since the previous reease, and current operationa issues. New Features This section provides a brief

More information

Space-Time Trade-offs.

Space-Time Trade-offs. Space-Time Trade-offs. Chethan Kamath 03.07.2017 1 Motivation An important question in the study of computation is how to best use the registers in a CPU. In most cases, the amount of registers avaiabe

More information

UnixWare 7 System Administration UnixWare 7 System Configuration

UnixWare 7 System Administration UnixWare 7 System Configuration UnixWare 7 System Administration - CH 3 - UnixWare 7 System Configuration Page 1 of 8 [Figures are not incuded in this sampe chapter] UnixWare 7 System Administration - 3 - UnixWare 7 System Configuration

More information

Readme ORACLE HYPERION PROFITABILITY AND COST MANAGEMENT

Readme ORACLE HYPERION PROFITABILITY AND COST MANAGEMENT ORACLE HYPERION PROFITABILITY AND COST MANAGEMENT Reease 11.1.2.4.000 Readme CONTENTS IN BRIEF Purpose... 2 New Features in This Reease... 2 Instaation Information... 2 Supported Patforms... 2 Supported

More information

As Michi Henning and Steve Vinoski showed 1, calling a remote

As Michi Henning and Steve Vinoski showed 1, calling a remote Reducing CORBA Ca Latency by Caching and Prefetching Bernd Brügge and Christoph Vismeier Technische Universität München Method ca atency is a major probem in approaches based on object-oriented middeware

More information

Navigating and searching theweb

Navigating and searching theweb Navigating and searching theweb Contents Introduction 3 1 The Word Wide Web 3 2 Navigating the web 4 3 Hyperinks 5 4 Searching the web 7 5 Improving your searches 8 6 Activities 9 6.1 Navigating the web

More information

Neural Network Enhancement of the Los Alamos Force Deployment Estimator

Neural Network Enhancement of the Los Alamos Force Deployment Estimator Missouri University of Science and Technoogy Schoars' Mine Eectrica and Computer Engineering Facuty Research & Creative Works Eectrica and Computer Engineering 1-1-1994 Neura Network Enhancement of the

More information

Lecture Notes for Chapter 4 Part III. Introduction to Data Mining

Lecture Notes for Chapter 4 Part III. Introduction to Data Mining Data Mining Cassification: Basic Concepts, Decision Trees, and Mode Evauation Lecture Notes for Chapter 4 Part III Introduction to Data Mining by Tan, Steinbach, Kumar Adapted by Qiang Yang (2010) Tan,Steinbach,

More information

Infinity Connect Web App Customization Guide

Infinity Connect Web App Customization Guide Infinity Connect Web App Customization Guide Contents Introduction 1 Hosting the customized Web App 2 Customizing the appication 3 More information 8 Introduction The Infinity Connect Web App is incuded

More information

Insert the power cord into the AC input socket of your projector, as shown in Figure 1. Connect the other end of the power cord to an AC outlet.

Insert the power cord into the AC input socket of your projector, as shown in Figure 1. Connect the other end of the power cord to an AC outlet. Getting Started This chapter wi expain the set-up and connection procedures for your projector, incuding information pertaining to basic adjustments and interfacing with periphera equipment. Powering Up

More information

Portable Compiler Optimisation Across Embedded Programs and Microarchitectures using Machine Learning

Portable Compiler Optimisation Across Embedded Programs and Microarchitectures using Machine Learning Portabe Compier Optimisation Across Embedded Programs and Microarchitectures using Machine Learning Christophe Dubach, Timothy M. Jones, Edwin V. Bonia Members of HiPEAC Schoo of Informatics University

More information

Guardian 365 Pro App Guide. For more exciting new products please visit our website: Australia: OWNER S MANUAL

Guardian 365 Pro App Guide. For more exciting new products please visit our website: Australia:   OWNER S MANUAL Guardian 365 Pro App Guide For more exciting new products pease visit our website: Austraia: www.uniden.com.au OWNER S MANUAL Privacy Protection Notice As the device user or data controer, you might coect

More information

CentreVu Explorer II. User Guide. Version Comcode Issue 1.0 June 1999

CentreVu Explorer II. User Guide. Version Comcode Issue 1.0 June 1999 1 CentreVu Exporer II Version 1.0 User Guide 585-218-200 Comcode 108456617 Issue 1.0 June 1999 Copyright 1999 Lucent Technoogies A Rights Reserved Printed in U.S.A. Notice Every effort was made to ensure

More information

Automatic Hidden Web Database Classification

Automatic Hidden Web Database Classification Automatic idden Web atabase Cassification Zhiguo Gong, Jingbai Zhang, and Qian Liu Facuty of Science and Technoogy niversity of Macau Macao, PRC {fstzgg,ma46597,ma46620}@umac.mo Abstract. In this paper,

More information

Sensitivity Analysis of Hopfield Neural Network in Classifying Natural RGB Color Space

Sensitivity Analysis of Hopfield Neural Network in Classifying Natural RGB Color Space Sensitivity Anaysis of Hopfied Neura Network in Cassifying Natura RGB Coor Space Department of Computer Science University of Sharjah UAE rsammouda@sharjah.ac.ae Abstract: - This paper presents a study

More information

MCSE Training Guide: Windows Architecture and Memory

MCSE Training Guide: Windows Architecture and Memory MCSE Training Guide: Windows 95 -- Ch 2 -- Architecture and Memory Page 1 of 13 MCSE Training Guide: Windows 95-2 - Architecture and Memory This chapter wi hep you prepare for the exam by covering the

More information

RDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002*

RDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002* RDF Objects 1 Aex Barne Information Infrastructure Laboratory HP Laboratories Bristo HPL-2002-315 November 27 th, 2002* E-mai: Andy_Seaborne@hp.hp.com RDF, semantic web, ontoogy, object-oriented datastructures

More information

Putting Static Analysis to Work for Verification

Putting Static Analysis to Work for Verification Putting Static Analysis to Work for Verification A Case Study Tomasz Dudziak Based on a paper by T. Lev-Ami, T. Reps, M. Sagiv, and R. Wilhelm 23 June 2010 Topic Goal A very capable shape analysis that

More information

Development of a National Portal for Tuvalu. Business Case. SPREP Pacific iclim

Development of a National Portal for Tuvalu. Business Case. SPREP Pacific iclim Deveopment of a Nationa Porta for Tuvau Business Case SPREP Pacific iclim Apri 2018 Tabe of Contents 1. Introduction... 3 1.1 Report Purpose... 3 1.2 Background & Context... 3 1.3 Other IKM Activities

More information

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8.

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8. Searching & Sorting Week 11 Gaddis: 8, 19.6,19.8 CS 5301 Fa 2017 Ji Seaman 1 Definitions of Search and Sort Search: find a given item in a ist, return the position of the item, or -1 if not found. Sort:

More information

Hands-free system (for cellular phone)

Hands-free system (for cellular phone) Hands-free system (for ceuar phone) With navigation system Owners of modes equipped with a navigation system shoud refer to the Navigation System Owner s Manua. Without navigation system This system supports

More information

Databases and PHP. Accessing databases from PHP

Databases and PHP. Accessing databases from PHP Databases and PHP Accessing databases from PHP PHP & Databases PHP can connect to virtuay any database There are specific functions buit-into PHP to connect with some DB There is aso generic ODBC functions

More information

Computers and processors

Computers and processors T224 Computers and processors Reference manua Author: Mirabee Waker This pubication forms part of an Open University course T224, Computers and Processors. Detais of this and other Open University courses

More information

Extracting semistructured data from the Web: An XQuery Based Approach

Extracting semistructured data from the Web: An XQuery Based Approach EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. Extracting semistructured data from the Web: An XQuery Based Approach Gies Nachouki Université de Nantes - Facuté des Sciences, IRIN, 2, rue de a Houssinière,

More information

Outline. Parallel Numerical Algorithms. Forward Substitution. Triangular Matrices. Solving Triangular Systems. Back Substitution. Parallel Algorithm

Outline. Parallel Numerical Algorithms. Forward Substitution. Triangular Matrices. Solving Triangular Systems. Back Substitution. Parallel Algorithm Outine Parae Numerica Agorithms Chapter 8 Prof. Michae T. Heath Department of Computer Science University of Iinois at Urbana-Champaign CS 554 / CSE 512 1 2 3 4 Trianguar Matrices Michae T. Heath Parae

More information

Contents Presentation... 1 Pack... 2 Connections... 3 Instaation from the CD-ROM... 4 Instaation by Ethernet interface... 6 Instaation by USB interfac

Contents Presentation... 1 Pack... 2 Connections... 3 Instaation from the CD-ROM... 4 Instaation by Ethernet interface... 6 Instaation by USB interfac SAGEM F@st TM 1201 Quick Instaation Guide Contents Presentation... 1 Pack... 2 Connections... 3 Instaation from the CD-ROM... 4 Instaation by Ethernet interface... 6 Instaation by USB interface... 7 Instaation

More information

Nearest Neighbor Learning

Nearest Neighbor Learning Nearest Neighbor Learning Cassify based on oca simiarity Ranges from simpe nearest neighbor to case-based and anaogica reasoning Use oca information near the current query instance to decide the cassification

More information

Quality of Service Evaluations of Multicast Streaming Protocols *

Quality of Service Evaluations of Multicast Streaming Protocols * Quaity of Service Evauations of Muticast Streaming Protocos Haonan Tan Derek L. Eager Mary. Vernon Hongfei Guo omputer Sciences Department University of Wisconsin-Madison, USA {haonan, vernon, guo}@cs.wisc.edu

More information

Windows NT, Terminal Server and Citrix MetaFrame Terminal Server Architecture

Windows NT, Terminal Server and Citrix MetaFrame Terminal Server Architecture Windows NT, Termina Server and Citrix MetaFrame - CH 3 - Termina Server Architect.. Page 1 of 13 [Figures are not incuded in this sampe chapter] Windows NT, Termina Server and Citrix MetaFrame - 3 - Termina

More information

More Relation Model: Functional Dependencies

More Relation Model: Functional Dependencies More Reation Mode: Functiona Dependencies Lecture #7 Autumn, 2001 Fa, 2001, LRX #07 More Reation Mode: Functiona Dependencies HUST,Wuhan,China 152 Functiona Dependencies X -> A = assertion about a reation

More information

Oracle Data Relationship Management

Oracle Data Relationship Management Orace Data Reationship Management Orace Data Reationship Steward Orace Data Reationship Management for Orace Hyperion Enterprise Panning Suite Orace Data Reationship Management for Orace Hyperion Financia

More information

ECEn 528 Prof. Archibald Lab: Dynamic Scheduling Part A: due Nov. 6, 2018 Part B: due Nov. 13, 2018

ECEn 528 Prof. Archibald Lab: Dynamic Scheduling Part A: due Nov. 6, 2018 Part B: due Nov. 13, 2018 ECEn 528 Prof. Archibad Lab: Dynamic Scheduing Part A: due Nov. 6, 2018 Part B: due Nov. 13, 2018 Overview This ab's purpose is to expore issues invoved in the design of out-of-order issue processors.

More information

CylanceOPTICS. Frequently Asked Questions

CylanceOPTICS. Frequently Asked Questions CyanceOPTICS Frequenty Asked Questions Question What is CyanceOPTICS? CyanceOPTICS is an AI driven endpoint detection and response component providing consistent visibiity, root cause anaysis, scaabe threat

More information

Solutions to the Final Exam

Solutions to the Final Exam CS/Math 24: Intro to Discrete Math 5//2 Instructor: Dieter van Mekebeek Soutions to the Fina Exam Probem Let D be the set of a peope. From the definition of R we see that (x, y) R if and ony if x is a

More information

A SIMPLE APPROACH TO SPECIFYING CONCURRENT SYSTEMS

A SIMPLE APPROACH TO SPECIFYING CONCURRENT SYSTEMS Artificia Inteigence and Language Processing ]acques Cohen Editor A SIMPLE APPROACH TO SPECIFYING CONCURRENT SYSTEMS LESLIE LAMPORT Over the past few years, I have deveoped an approach to the forma specification

More information

A Method for Calculating Term Similarity on Large Document Collections

A Method for Calculating Term Similarity on Large Document Collections $ A Method for Cacuating Term Simiarity on Large Document Coections Wofgang W Bein Schoo of Computer Science University of Nevada Las Vegas, NV 915-019 bein@csunvedu Jeffrey S Coombs and Kazem Taghva Information

More information

Design of IP Networks with End-to. to- End Performance Guarantees

Design of IP Networks with End-to. to- End Performance Guarantees Design of IP Networks with End-to to- End Performance Guarantees Irena Atov and Richard J. Harris* ( Swinburne University of Technoogy & *Massey University) Presentation Outine Introduction Mutiservice

More information

Telephony Trainers with Discovery Software

Telephony Trainers with Discovery Software Teephony Trainers 58 Series Teephony Trainers with Discovery Software 58-001 Teephony Training System 58-002 Digita Switching System 58-003 Digita Teephony Training System 58-004 Digita Trunk Network System

More information

Response Surface Model Updating for Nonlinear Structures

Response Surface Model Updating for Nonlinear Structures Response Surface Mode Updating for Noninear Structures Gonaz Shahidi a, Shamim Pakzad b a PhD Student, Department of Civi and Environmenta Engineering, Lehigh University, ATLSS Engineering Research Center,

More information

DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS

DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS DETERMINING INTUITIONISTIC FUZZY DEGREE OF OVERLAPPING OF COMPUTATION AND COMMUNICATION IN PARALLEL APPLICATIONS USING GENERALIZED NETS Pave Tchesmedjiev, Peter Vassiev Centre for Biomedica Engineering,

More information

Hiding secrete data in compressed images using histogram analysis

Hiding secrete data in compressed images using histogram analysis University of Woongong Research Onine University of Woongong in Dubai - Papers University of Woongong in Dubai 2 iding secrete data in compressed images using histogram anaysis Farhad Keissarian University

More information

Confidence in measurement

Confidence in measurement Confidence in measurement Caibration Goba caibration network www.kister.com Tech Center Tech Office Production Center Kister caibration network Acceerometers Data Acquisition (Crash) Whee Force Transducers

More information

MCSE TestPrep SQL Server 6.5 Design & Implementation - 3- Data Definition

MCSE TestPrep SQL Server 6.5 Design & Implementation - 3- Data Definition MCSE TestPrep SQL Server 6.5 Design & Impementation - Data Definition Page 1 of 38 [Figures are not incuded in this sampe chapter] MCSE TestPrep SQL Server 6.5 Design & Impementation - 3- Data Definition

More information

Mobile App Recommendation: Maximize the Total App Downloads

Mobile App Recommendation: Maximize the Total App Downloads Mobie App Recommendation: Maximize the Tota App Downoads Zhuohua Chen Schoo of Economics and Management Tsinghua University chenzhh3.12@sem.tsinghua.edu.cn Yinghui (Catherine) Yang Graduate Schoo of Management

More information

Load Balancing by MPLS in Differentiated Services Networks

Load Balancing by MPLS in Differentiated Services Networks Load Baancing by MPLS in Differentiated Services Networks Riikka Susitaiva, Jorma Virtamo, and Samui Aato Networking Laboratory, Hesinki University of Technoogy P.O.Box 3000, FIN-02015 HUT, Finand {riikka.susitaiva,

More information

Register Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x

Register Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Register Aocation Consider the foowing assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Assume that two registers are avaiabe. Starting from the eft a compier woud generate

More information

Maru: Hardware-Assisted Secure Cloud Computing

Maru: Hardware-Assisted Secure Cloud Computing Maru: Hardware-Assisted Secure Coud Computing Peter Pietzuch prp@imperia.ac.uk Large-Scae Distributed Systems Group Department of Computing, Imperia Coege London Peter R. Pietzuch http://sds.doc.ic.ac.uk

More information

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Fa 2017 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program instructions

More information

Alpha labelings of straight simple polyominal caterpillars

Alpha labelings of straight simple polyominal caterpillars Apha abeings of straight simpe poyomina caterpiars Daibor Froncek, O Nei Kingston, Kye Vezina Department of Mathematics and Statistics University of Minnesota Duuth University Drive Duuth, MN 82-3, U.S.A.

More information

Database Graph Views : A Practical Model to Manage Persistent Graphs1

Database Graph Views : A Practical Model to Manage Persistent Graphs1 Database Graph Views : A Practica Mode to Manage Persistent Graphs1 Aejandro Gutihez TS Phiippe Puchera? Hermaun Steffen $ Jean-Marc Thevenin?t (t) University of Versaies ($) Universidad de a Reptibica

More information

BEA WebLogic Server. Release Notes for WebLogic Tuxedo Connector 1.0

BEA WebLogic Server. Release Notes for WebLogic Tuxedo Connector 1.0 BEA WebLogic Server Reease Notes for WebLogic Tuxedo Connector 1.0 BEA WebLogic Tuxedo Connector Reease 1.0 Document Date: June 29, 2001 Copyright Copyright 2001 BEA Systems, Inc. A Rights Reserved. Restricted

More information

A Robust Sign Language Recognition System with Sparsely Labeled Instances Using Wi-Fi Signals

A Robust Sign Language Recognition System with Sparsely Labeled Instances Using Wi-Fi Signals A Robust Sign Language Recognition System with Sparsey Labeed Instances Using Wi-Fi Signas Jiacheng Shang, Jie Wu Center for Networked Computing Dept. of Computer and Info. Sciences Tempe University Motivation

More information

Traversal Graphs: Characterization and Efficient Implementation

Traversal Graphs: Characterization and Efficient Implementation Traversa Graphs: Characterization and Efficient Impementation Ahmed Abdemeged Therapon Skotiniotis Panagiotis Manoios Kar Lieberherr Coege of Computer & Information Science Northeastern University, 60

More information

Product Design & Development

Product Design & Development Product Design & Deveopment Product Architecture 1 2 1 What is Product Architecture? Product architecture is the assignment of the product's functions to physica buiding bocks or "chunks". Product modue

More information

The most up-to-date drivers and manuals are available from the Oki Data Americas web site:

The most up-to-date drivers and manuals are available from the Oki Data Americas web site: PREFACE Every effort has been made to ensure that the information in this document is compete, accurate, and up-to-date. The manufacturer assumes no responsibiity for the resuts of errors beyond its contro.

More information

Proceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER!

Proceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER! [1,2] have, in theory, revoutionized cryptography. Unfortunatey, athough offer many advantages over conventiona and authentication), such cock synchronization in this appication due to the arge operand

More information

Substitute Model of Deep-groove Ball Bearings in Numeric Analysis of Complex Constructions Like Manipulators

Substitute Model of Deep-groove Ball Bearings in Numeric Analysis of Complex Constructions Like Manipulators Mechanics and Mechanica Engineering Vo. 12, No. 4 (2008) 349 356 c Technica University of Lodz Substitute Mode of Deep-groove Ba Bearings in Numeric Anaysis of Compex Constructions Like Manipuators Leszek

More information

Chapter 3: Introduction to the Flash Workspace

Chapter 3: Introduction to the Flash Workspace Chapter 3: Introduction to the Fash Workspace Page 1 of 10 Chapter 3: Introduction to the Fash Workspace In This Chapter Features and Functionaity of the Timeine Features and Functionaity of the Stage

More information

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8. CS 5301 Spring 2017

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8. CS 5301 Spring 2017 Searching & Sorting Week 11 Gaddis: 8, 19.6,19.8 CS 5301 Spring 2017 Ji Seaman 1 Definitions of Search and Sort Search: find a given item in a ist, return the position of the item, or -1 if not found.

More information

W3QS: A Query System for the World-Wide Web

W3QS: A Query System for the World-Wide Web W3QS: A Query System for the Word-Wide Web David Konopnicki konop&s.technion.ac.il Computer Science Department Technion, Haifa, 32000. Israe Oded Shmuei oshmu@cs.technion.ac.il Computer Science Department

More information

Concurrent programming: From theory to practice. Concurrent Algorithms 2016 Tudor David

Concurrent programming: From theory to practice. Concurrent Algorithms 2016 Tudor David oncurrent programming: From theory to practice oncurrent Agorithms 2016 Tudor David From theory to practice Theoretica (design) Practica (design) Practica (impementation) 2 From theory to practice Theoretica

More information

Chapter 3: KDE Page 1 of 31. Put icons on the desktop to mount and unmount removable disks, such as floppies.

Chapter 3: KDE Page 1 of 31. Put icons on the desktop to mount and unmount removable disks, such as floppies. Chapter 3: KDE Page 1 of 31 Chapter 3: KDE In This Chapter What Is KDE? Instaing KDE Seecting KDE Basic Desktop Eements Running Programs Stopping KDE KDE Capabiities Configuring KDE with the Contro Center

More information