Debugging programs. Khoo Yit Phang October 24, 2012
|
|
- Cordelia Walker
- 6 years ago
- Views:
Transcription
1 Debugging programs Khoo Yit Phang October 24,
2 Ideal week of a CS430 student Write code for assignment Compile code into program??? Profit! (Or get an A ) 2
3 More realistic week of a CS430 student Write code for assignment Compile code into program Run tests on program find a misbehavior track down cause of misbehavior make change to code and recompile Debugging can take a surprisingly large amount of time and effort! test and repeat until fixed (or time runs out) Maybe profit? (Maybe get an A?) 3
4 Here s a program #include <stdio.h> void echo(void) { char buffer[80]; int i = 0; while (1) { Read one character int c = getchar(); if (c == EOF) return 0; else if (c == '\n') { buffer[i] = 0; puts(buffer); i = 0; } else { buffer[i++] = c; } Quit if EOF Print buffer and reset if newline Buffer character otherwise } } Print Done int main(int c, char *v[]) { echo(); puts("done"); return 0; } 4
5 There s a bug %./myecho < loremipsum.txt Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti. Etiam egestas est ut mauris blandit iaculis. Aliquam erat volutpat. Etiam a feugiat metus. Sed vitae tortor vitae metus molestie ornare. Phasellus eleifend pellentesque consectetur. Proin lacinia nisl ac sem bibendum vitae sodales elit venenatis. Segmentation fault % Bug report: I ran myecho on this file, and it terminated abruptly without printing Done! 5
6 How to find the bug? With limited tools (e.g., embedded systems): Stare at code Trace the code by hand With a compiler and I/O: printf print the internal state of the program assert check the internal state of the program 6
7 Using printf #include <stdio.h> void echo(void) { } } char buffer[80]; int i = 0; while (1) { int c = getchar(); printf("c=%d, i=%d\n", c, i); if (c == EOF) return 0; else if (c == '\n') { buffer[i] = 0; puts(buffer); i = 0; } else { buffer[i++] = c; } int main(int c, char *v[]) { echo(); puts("done"); return 0; } 7 Print every character and the value of i
8 Run with printf %./myecho < loremipsum.txt c=76, i=0 many lines c=10, i=72 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod many lines c=10, i=152 i exceeded 80 (the buffer size)! cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Suspendisse potenti. Etiam egestas est ut mauris blandit iaculis. many lines c=-1, i=0 Segmentation fault % 8
9 Using assert #include <stdio.h> #include <assert.h> void echo(void) { char buffer[80]; int i = 0; while (1) { int c = getchar(); assert(i < 80); if (c == EOF) return 0; else if (c == '\n') { buffer[i] = 0; puts(buffer); i = 0; } else { buffer[i++] = c; } } } int main(int c, char *v[]) { echo(); puts("done"); return 0; } 9 Make sure that i does not exceed the buffer
10 Run with assert %./myecho < loremipsum.txt Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat Assertion failed: (i < 80), function foo, file myecho.c, line 6. % Quit early due to failed assertion 10
11 Pros/cons of printf/assert Pros: Applicable to any language Easy to use Cons: Need to recompile Clutter code Affect performance, change program behavior printf generate too much data assert few kinds of properties can be checked easily 11
12 Interactive debugger Explore program execution without recompiling code Run program in a controlled environment Examples: GDB native binary (e.g., C/C++) ocamldebug Ocaml jdb Java debugger 12
13 GDB demo 13
14 GDB demo recap Compile code with debugging info/no optimization gcc -g -O0 -o myprog.c myprog GDB commands list loc show source code at loc run run the program from the beginning to the end step/next/continue run one line/function/until the end breakpoint loc stop when program reaches loc watchpoint var stop when program changes var print expr print value of expr disassemble/m loc show assembly code at loc 14
15 Debugger basics Control the program using ptrace API (Linux) pid = fork() if (pid > 0) { // child process ptrace(pt_traceme, 0, 0, 0); execv(program_name, program_args); } else { // parent process ptrace(ptrace_attach, pid, 0, 0); ptrace(ptrace_singlestep, pid, 0, 0); ptrace(ptrace_cont, pid, 0, 0); ptrace(ptrace_peekdata, pid, addr, 0); ptrace(ptrace_pokedata, pid, addr, data); } 15
16 Debugger basics cont d Software breakpoints/watchpoints (x86) Breakpoints poke int 3 instruction into program Watchpoints single-step and compare (very slow) Hardware breakpoints/watchpoints (x86) x86 debug registers (no overhead, but limited) 16
17 Scriptable debugging Write scripts to automate debugging tasks Program-specific: How many times is foo called? Is foo, bar, baz called in this sequence? Generic: Is free(addr) called more than once for any addr? Is the call stack consistent before and after a function call? Do any two threads access var without consistent locks? 17
18 Scripting GDB GDB supports scripting using Python Count calls to foo: Set breakpoint at foo foo = gdb.breakpoint("foo"); count = 0; more = True def stop_handler(evt): if isinstance(evt, gdb.breakpointevent) and foo in evt.breakpoints: global count; count += 1 def exit_handler(evt): global more; more = False gdb.events.stop.connect(stop_handler) gdb.events.exited.connect(exit_handler) gdb.execute("start") while more: gdb.execute("continue") gdb.events.exited.disconnect(exit_handler) gdb.events.stop.disconnect(stop_handler) foo.delete() Function to count when stopped at foo Function to detect when program exited Run the program to main Delete the breakpoint 18 Register handler functions with GDB Keep running until program exited Deregister handler functions from GDB
19 GDB scripting demo 19
20 Pros/cons of GDB scripting Pros: Automate complex debugging tasks Reusable Cons: Imperative, callback-style (event handlers) is tedious Not easy to compose multiple scripts: have to be careful to avoid conflicting event handlers Difficult to deal with non-determinism (e.g., random numbers or thread scheduling) 20
21 Time-travel debugging Time-travel debuggers that allow you to inspect past program state Examples: GDB record/replay experimental, very slow ocamldebug UndoDB commercial time-travel GDB extension 21
22 ocamldebug demo 22
23 ocamldebug demo recap Compile code with debugging info ocamlc -g -o myprog myprog.ml Ocamldebug commands: run/step/next run program forward reverse/backstep/previous - run program backwards goto time jump to time break loc stop when program reaches loc print var print the value of var 23
24 Pros/cons of time-travel debugging Pros: Able to explore the entire program execution Removes nondetermism (within a single execution) Cons: Even more state to look at Hard to script using imperative, callback-style 24
25 Time-travel implementation basics Omniscient debuggers Log the program state after every instruction Very slow to run, large log file, quick lookup using indexes Replay debuggers Log only non-deterministic instructions (e.g., system calls), and checkpoint program state occasionally Re-run the program, feeding it input from the log Much faster to run, small log file, slower lookup 25
26 Expositor: scriptable time-travel debugging with first-class traces Khoo Yit Phang, Jeffrey S. Foster, Michael Hicks Under submission to ICSE
27 Key ideas Treat program execution as if it were a timeindexed list of program state snapshots Use common list operations such as filter/map/scan Use laziness extensively for efficiency/ interactivity Trace lazy, sparse, immutable interval tree representing (projections) of the program execution Edit hash array-mapped-trie (EditHAMT) lazy, immutable set/map (multiset/multimap) 27
28 Simple Expositor example Implemented using Python in UndoDB/GDB Create a trace of calls to foo: foo = execution.breakpoints("foo") Global object representing program execution Count calls to foo: count = len(foo) Much simpler than the earlier Python GDB script Find the previous snapshot at foo before time 100: snapshot = foo.get_before(100) Create a trace of x values when foo is called: foo_x = foo.map(lambda s: s.read_var("x")) 28
29 Simple trace operations Queries: trace. len () number of items, called by len(trace) trace.get_at(t)/get_after(t)/get_before(t) item at/after/before time t Simple operations: trace. filter(p) new trace of items for which p returns true trace. map(f) new trace with f applied to all items trace. slice(t0, t1) new trace of items from time t0 to t1 No add/remove traces contents completely defined at construction 29
30 Trace data structure Dotted boxes are lazy This query traverses a lazy node for the first time, so compute the contents Lazy node since search ended 0 50 foo = execution.breakpoints("foo") 0 snapshot = foo.get_before(100) foo Nodes are annotated with time intervals 50.1 Lazy node since this part is not needed to answer the query 100 UndoDB found foo at time 50 Search UndoDB starting at time
31 Merging between traces tr0 tr1 f tr0.merge(f, tr1) tr0 tr1 tr0 tr1 None f f f f f f f f None tr0.trailing_merge(f, tr1) tr0.rev_trailing_merge(f, tr1) 31
32 Computing within traces scan is fold over prefixes tr tr acc f f f tr.scan(f, acc) tr f f f acc tr.rev_scan(f, acc) tr tscan: tree-scan using associative f f f f f f f f f tr.tscan(f) tr.rev_tscan(f) 32
33 Lazy trace operations E.g., count prior calls to foo up until foo(0): def count_nonzero_foo(lazy_acc, snapshot): if snapshot.read_var("x") > 0: return lazy_acc.force() + 1 else: return 0 nonzero_foo = foo.scan(count_nonzero_foo, 0) add 1 to accumulator when x!= 0 reset the accumulator to 0 otherwise For every succeeding item in foo with initial accumulator 33
34 Lazy trace operations, cont d E.g., count prior calls to foo up until foo(0): def count_nonzero_foo(lazy_acc, snapshot): if snapshot.read_var("x") > 0: return lazy_acc.force() + 1 else: The accumulator is lazy! Why? return 0 nonzero_foo = foo.scan(count_nonzero_foo, 0) By definition of scan: accn = f (inn, accn-1) If the accn-1 were not lazy, then every input must be computed, compromising laziness 34
35 Expositor demo 35
36 Using sets/maps in Expositor Many useful analysis require sets/maps What s wrong with built-in Python sets? def collect_foo_args(lazy_acc, snapshot): return lazy_acc.force() \.union(set([ snapshot.read_var("x") ])) foo_args = foo.scan(set(), collect_foo_args) Laziness is compromised: have to force accumulator to apply union! Also, each output must be a different set, but union does so by deep copying! 36
37 Using sets/maps in Expositor, cont d Need a lazy set/map where elements can be added/removed without knowing the contents of prior sets/maps! E.g., lazy linked-list: def collect_foo_args(lazy_acc, snapshot): return ( snapshot.read_var("x"), lazy_acc ) foo_args = foo.scan(none, collect_foo_args) 37 Tuple of x as head, unforced lazy_acc as tail Issues with lazy linked-list: inefficient O(n) for lookup how to handle removal?
38 EditHAMT Lazy, immutable set/map (multiset/multimap) Combination of: EditList lazy linked-list of set/map edit operations lazy variant of hash array-mapped-trie (HAMT) hashtable/tree hybrid set/map 38
39 EditList Lazy linked-list based set/map with removal lazily append nodes tagged with add / remove Dotted lines indicate lazy tail None "add", a 0 "remove", a 0 "add", a 1 False! find(a0) { a0 } { a1 } Space efficient: can be viewed as a succession of sets 39
40 HAMT Hashtable/tree hybrid Chained hashtable HAMT bucket array array mapped trie (AMT) a type of trie buckets (e.g., linked-list) nested HAMTs with different hash functions 40
41 AMT Trie-based map from integer keys to values AMT lookup, e.g., find(7) 7 = binary Lookup are O(1) :c Internal nodes are arrays Leaf nodes are bindings 5:a 7:b Found! 41
42 LazyAMT Lazy variant of AMT Nodes lazily created during lookup Internal nodes are lazy sparse arrays 50:c 5:a 7:b 57:d Add 57:d by creating a new LazyAMT that updates the old binding (57:None) 42 57:None update
43 EditList + lazy HAMT = EditHAMT Chained hashtable HAMT EditHAMT Bucket array AMT LazyAMT Buckets nested HAMTs EditLists 43
44 EditHAMT example Lookup are O(1) on average Dotted lines indicate lazy updates None None "add", a 0 "remove", a 0 "add", a 1 { a0 } { a1 } Space efficient: can be viewed as a succession of sets 44
45 Case study 1 Reverse engineering stack-smashing attack (buffer overflow exploit) all_call_rets.trailing_merge(compare_call_stack, all_call_rets) For every function call or return find the immediately preceding call or return and compare the call stacks to ensure consistency 45
46 Case study 2 Firefox data race Trace of garbage collector behavior Trace of memory allocation behavior (a) (b) (c) C: gc_call = execution.breakpoints("js_gc") R: gc_return = execution.breakpoints("js_gc", index=-1) C R C R C R C R C R M: mmap2 = execution.syscalls("mmap2") U: munmap = execution.syscalls("munmap") M 70 M U 70 U timer_trace = set_tracing(a=timer-create, R=timer-fire) A R A R A R (d) (e) chunkswaiting_trace = execution.watchpoints(gcchunkswaitingtoexpire-variable).map(read-gcchunkswaitingtoexpire) chunkswaiting_hb = one_lock(r=gcchunkswaitingtoexpire-read, W=gcChunksWaitingToExpire-write, locks, unlocks) R W t scroll1 t scroll2 t end Trace of data races Trace of timer events 46
KIDS BEDROOMS SHOP NOW -00% NEW. Item Name & Description $00 $00 -00% NEW. Item Name & Description $00 $00 NEW COLLECTIONS SHOP NOW!
Sign In / 0 0 0 HOME ACCESSORIES DINING SETS SPECIAL OFFERS 2016 COLLECTIONS! JUNE 24,2016 ELEGANT DINING SET Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
More informationUVic Senior s Program: Microsoft Word
UVic Senior s Program: Microsoft Word Created by Robert Lee for UVic Senior s Program website: https://www.uvic.ca/engineering/computerscience/community/index.php Opening Microsoft Word: Launch it from
More informationTypography is the art and technique of arranging type in order to make language visible.
TYPOGRAPHY 101 Typography is the art and technique of arranging type in order to make language visible. Good typography goes unnoticed. Readability How easy it is to read words, phrases and blocks of text
More informationHTML for D3. Visweek d3 workshop
HTML for D3 Visweek d3 workshop What is HTML HTML is the language in which the web pages are encoded. What is HTML? HTML can be complicated But it doesn t have to be.
More informationbrand rationale logo colour typography graphics & images GREEN BISHOP BRAND IDENTITY GUIDELINES
brand rationale logo colour typography graphics & images 1 BRAND RATIONALE THE STORY OF GREEN BISHOP Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
More informationBRAND Guide. EuropeActive LOGOS
BRAND Guide EuropeActive LOGOS version 10/2014- p1 EuropeActive Logo The European Health & Fitness Association (EHFA) has been rebranded to EuropeActive. With our mission to get more people, more active,
More informationBusiness Applications Page Format
Margins Business Applications Page Format Page margins are the blank space around the edges of the page. The printable area is the section of the page inside the margins. To Change the Page Margins Margins
More informationCASE EXPLORER - INSTALLATION GUIDE. Doc
CASE EXPLORER - INSTALLATION GUIDE Doc. 20161104 Table Of Contents Overview... 3 Log In... 3 Procedure... 3 Home Page... 4 Searching and Pagination... 4 Utility Tools... 5 Report Generation... 6 Additional
More informationThinking inside the box
Intro to CSS Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside
More informationHARBORTOUCH STYLE GUIDE
HARBORTOUCH STYLE GUIDE THE LOGO The Harbortouch logo was created for its simplicity and ease of use for all types of applications. It is essential that the logo is not altered in any way in order for
More informationgraceland-core Documentation
graceland-core Documentation Release 0.1.0-SNAPSHOT Javier Campanini April 14, 2014 Contents 1 About 3 1.1 Contributing............................................... 3 1.2 License..................................................
More informationLorem ipsum dolor sit amet, consectetur adipisicing elit, sed eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam,
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
More informationHigh Performance Auto Layout
#WWDC18 High Performance Auto Layout Ken Ferry, ios System Experience Kasia Wawer, ios Keyboards 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationhowtomarketing VISUAL IDENTITY In this section 30/04/ MY PR plus 1
howtomarketing VISUAL IDENTITY Module 1 Identify 1 In this section + WHAT IS VISUAL IDENTITY? + BRAND PROMISE AND STYLE + COLOURS + FONTS + DESIGN + VISUAL IDENTITY GUIDES/STYLE SHEETS 2 1 Visual Identity
More informationPromiseShip Style Guide
Logo Options Primary - Color Primary with Tag - Color Black Black with Tag Reverse/White Reverse/White with Tag 2 Logo Use Guidelines Use the height of the P in PromiseShip to determine the width of space
More informationIDM 221. Web Design I. IDM 221: Web Authoring I 1
IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 1 Introduc)on IDM 221: Web Authoring I 2 Hello I am Phil Sinatra, professor in the Interac4ve Digital Media program. You can find me at: ps42@drexel.edu
More informationStyling of Controls Framework
Styling of Controls Framework 2011 51Degrees.mobi Limited. All rights reserved. The copyright in and title to the document Styling of Controls Framework belongs to 51Degrees.mobi Limited. No part of it
More informationSTOCKHOLM BEAMER THEME
STOCKHOLM BEAMER THEME sthlm is based on the hsrm theme 20130731-093333-r2.2B-TemplatesthlmBeamerTheme HendryOlson.com Made in Sweden OVERVIEW 1. Background 2. Structure 3. Features 4. Tutorial 2 BACKGROUND
More informationDESIGN GUIDELINES. Use the following slides as a guide to make sure your presentation follows the PCS Plus brand.
Use the following slides as a guide to make sure your presentation follows the PCS Plus brand. LOGO PLACEMENT On white content slides the logo should appear in full colour on the bottom left of the screen
More information15. Recursion 2. Motivation: Calculator. Naive Attempt (without Parentheses) Analyzing the Problem (15 7 3) = Input * 3 = Result 15
Motivation: Calculator Goal: we build a command line calculator 15. Recursion 2 Building a Calculator, Streams, Formal Grammars, Extended Backus Naur Form (EBNF), Parsing Expressions Example Input: 3 +
More informationCOMCAS 2015 Author Instructions for Full Manuscript Submission
COMCAS 2015 Author Instructions for Full Manuscript Submission This document provides guidance on the submission of your Manuscript to COMCAS 2015. You may wish to print out these instructions and read
More informationSphinx Readability Theme Documentation
Sphinx Readability Theme Documentation Release 0.0.6 Tsuyoshi Tokuda December 27, 2015 Contents 1 What Is It? 1 2 User s Guide 3 2.1 Installation................................................ 3 2.2
More informationManual ODIP Content Management System Version 1.0 February 2013
Manual ODIP Content Management System Version 1.0 February 2013 Chapter 1- Home page After you have logged in you will find the entry buttons to all sections of the CMS you will need to maintain the ODIP
More informationBrand Guidelines. Brand Guidelines V1.2 May 21, 2018
Brand Guidelines Brand Guidelines V1.2 May 21, 2018 1. Table of Contents 1. Table of Contents 2. Introduction 3. Logo 3.1 Clear Space 3.2 Color 3.3 Photo Backround 3.4 Sizing 3.4 Don t 4. Color Palette
More informationHTML. UC Berkeley Graduate School of Journalism
HTML UC Berkeley Graduate School of Journalism Webpages are made of three Webpages are made of three HTML Webpages are made of three HTML CSS Webpages are made of three HTML CSS JavaScript Webpages are
More informationThis is an H1 Header. This is an H2 Header. This is an H3 Header
is a key element in web design. This templates delivers you sophisticated typography and various stylings. The style guide gives you an overview about all possible HTML tag stylings provided by the template.
More informationINTRODUCTION. As GRADED brand user, you are also responsible for preserving that image. We count on your cooperation in this process.
BRAND BOOK 1 INTRODUCTION In this guide, you will find the rules to use the GRADED logo and graphic elements correctly with the possible variations and allowed limits. The guide aims to build a harmonious
More informationANNEX VIII.2 New dangerous substances website. Safety and health at work is everyone s concern. It s good for you. It s good for business.
ANNEX VIII.2 New dangerous substances website Safety and health at work is everyone s concern. It s good for you. It s good for business. Information architecture 2 Information architecture Multilingual
More informationRHYMES WITH HAPPIER!
RHYMES WITH HAPPIER! Title Subtitle Date Title Subtitle Date Title Subtitle Date Title Subtitle Date WHO AM I? First Last Body copy Quick Facts about Zapier HQ: San Francisco, CA 100% Remote 145 Employees
More informationBrand Guidelines CONTENTS. About these guidelines...2. Logo usage...3. Color palette...6. Fonts...7. Additional design elements...
CONTENTS About se guidelines...2 Logo usage...3 Color palette...6 Fonts...7 Additional design elements...8 Collateral examples...10 Brand Guidelines AUGUST 2013 1 about se guidelines [yoc-to] The smallest
More informationCONTENT STRATEGY: What s Real, What s Relevant. Kristina Halvorson Web 2.0 Expo San Francisco
CONTENT STRATEGY: What s Real, What s Relevant Kristina Halvorson Web 2.0 Expo San Francisco 04.01.09 WHO AM I? President, Brain Traffic Speaker, conferences Author, in training WHO AM I? Advocate, importance
More informationAd Spec Guidelines
Ad Spec Guidelines 03.19.18 Ad Spec Guidelines 1 General Guidelines Required Assets For best results, please provide fully editable assets. FILES Design Files - Layered PSD (Photoshop) Fonts - RTF / TTF
More informationIDM 221. Web Design I. IDM 221: Web Authoring I 1
IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 6 IDM 221: Web Authoring I 2 The Box Model IDM 221: Web Authoring I 3 When a browser displays a web page, it places each HTML block element in a box.
More informationnagement ompetition enture coaching GRAPHIC STANDARDS capital investment launch opening risk assessment entrepreneur information feasibility study
eas development ESEARCH startup groundwork capital investment risk assessment Analysis nagement enture coaching entrepreneur information ompetition GRAPHIC STANDARDS launch opening feasibility study strategy
More informationUsername. Password. Forgot your password? Sign in. Register as new user
Username Password Forgot your password? Sign in Register as new user Registration Email Password Mobile phone Verify your account via SMS otherwise leave blank to verify via email. Terms & Conditions Lorem
More informationChapter 3 CSS for Layout
Chapter 3 CSS for Layout Chapter two introduced how CSS is used to manage the style of a webpage, this chapter explores how CSS manages the layout of a webpage. Generally a webpage will consist of many
More informationDESIGNPRINCIPPER FANG FORTÆLLINGEN
DESIGNPRINCIPPER Indhold: 3 / Bomærke 6 Skrift 8 Farve 9 Plakat overordnet På udstillingsstedet 11 Plakat Udstilling 12 Skrift 13 Folder 17 Flyer 2 / Bomærke 3 frizone 4 (minimum gengivelse) 2 cm 4 cm
More informationCondition of the Mobile User
Condition of the Mobile User Alexander Nelson August 25, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/
More informationThe Moldable Editor. Bachelor Thesis. Aliaksei Syrel from Minsk, Belarus. Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern
The Moldable Editor Bachelor Thesis Aliaksei Syrel from Minsk, Belarus Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern 6. February 2018 Prof. Dr. Oscar Nierstrasz Dr. Andrei Chiş, Dr.
More informationUSER MANUAL. ICIM S.p.A. Certification Mark
USER MANUAL ICIM S.p.A. Certification Mark Index Informative note 4 The Certification Mark 6 Certified Management System 8 Certified Management System: Examples 19 Certified Product 27 Certified Product:
More information01/ 03/ 05/ 07/ 09/ 11/ 13/ 15/ 17/ 19/ 21/ 23/ WEB DESIGN PRINT DESIGN PERSONAL DESIGN. DESIGN IS: a finely crafted method of mass communication
WEB DESIGN 01/ 03/ 05/ 07/ 09/ Delicious Boutique Product Page Design Vida Vibe Website Mock Design IIWII Homepage Design Naturewasher Landing Page Design Grown - Up Talk Application Design PRINT DESIGN
More information#BDOG2018. Taglines, Hashtags And More. Spice Up Your Messaging. Digital Sharing. Questions? Comments?
Taglines, Hashtags And More Digital Sharing Follow and share your story using the hashtag #bdog2018 Browse nonprofits and tools to get involved on our website: bigdayofgiving.org Like us on Facebook: facebook.com/bigdayofgiving
More informationsimpleapi Documentation
simpleapi Documentation Release 0.0.9 Florian Schlachter July 06, 2014 Contents 1 Contents 3 1.1 User s Guide............................................... 3 1.2 Developer s Reference..........................................
More informationIDM 221. Web Design I. IDM 221: Web Authoring I 1
IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 2 IDM 221: Web Authoring I 2 Tools for Development Text Editor Hos.ng Version Control FTP (later) IDM 221: Web Authoring I 3 Last week we discussed
More informationCase Study: Gut Check App
Case Study: Adam Keller User Experience Client: Janssen Pharmaceuticals Design & Direction Business Objective: To provide IBD and Crohn s Disease patients with a helpful tool that also collects patient-reported
More informationbrand guide book & resources
brand guide book & resources back to top 1 logo page 3 placement, colours and composition key visuals & graphics page 8 placement, colours and composition typography page 10 font use and rules placement,
More informationDashboard Dashboard Screens Screens
Dashboard Screens DataSynapse Grid Server Dashboard Grid Components Services Admin Diagnostics Overview Overview Director Monitor Broker Monitor 45 Available Engines 16 Connected Drivers 31 Active Sessions
More informationCSC 337. Cascading Style Sheets. Marty Stepp, Rick Mercer
CSC 337 Cascading Style Sheets Marty Stepp, Rick Mercer Preview of a style sheet /* The good way, with a preview of cascading style sheet (css) that has class mystyle */ body { background-color: grey;.mystyle
More informationEnter the Elephant. Massively Parallel Computing With Hadoop. Toby DiPasquale Chief Architect Invite Media, Inc.
Enter the Elephant Massively Parallel Computing With Hadoop Toby DiPasquale Chief Architect Invite Media, Inc. Philadelphia Emerging Technologies for the Enterprise March 26, 2008 Image credit, http,//www.depaulca.org/images/blog_1125071.jpg
More information[ ] corporate brand guide brought to you from the minds at:
[ ] corporate brand guide 2015-2016 introduction This document describes the most essential elements of the p d adapt visual identity collage including logo usage, typographical marks and color palette.
More information01 The logo design. Our logo is the touchstone of our brand and one of the most valuable assets. We must. Designed by KING DESIGN
01 The logo design Our logo is the touchstone of our brand and one of the most valuable assets. We must 1. The logo and its usage / 2. Black, white and grayscale / 3. Logo construction + clear space /
More informationIntroducing Natural Language
Session #WWDC18 Introducing Natural Language 713 Doug Davidson, Senior Software Engineer Vivek Kumar Rangarajan Sridhar, Software Engineering Manager 2018 Apple Inc. All rights reserved. Redistribution
More informationFeature Extraction and Classification. COMP-599 Sept 19, 2016
Feature Extraction and Classification COMP-599 Sept 19, 2016 Good-Turing Smoothing Defined Let N be total number of observed word-tokens, w c be a word that occurs c times in the training corpus. N = i
More informationAd Spec Guidelines. Ad Spec Guidelines 1
Ad Spec Guidelines Ad Spec Guidelines 1 Table of Contents General Guidelines 3 Banners Display 4-5 Native Ads 6 Landing Pages: Super 7-8 Image 9 Interstitials 10 Rich Media 11-12 Tags 14 Attribution Pixels
More informationTechnical Document Authoring and
2015 Aras 1 Technical Document Authoring and Management in PLM Kevin Richard 2015 Aras 2 Agenda Business Justification (Challenges/Goals) Technical Documents Features Demo Wrap up and questions 2015 Aras
More informationControl-flow Statements
Introduction to Programming Control-flow Statements Sergey Shershakov #4/22 Jan 2019 Test 3 (5 pts) https://goo.gl/forms/9yfm7kohnezgp3gk2 2 MORE ON STREAMS AND STRINGS 3 Class std::stringstream Allows
More informationsphinx-argparse Documentation
sphinx-argparse Documentation Release 0.2.2 Alex Rudakov and Devon Ryan Mar 15, 2018 Contents 1 Installation 3 2 Basic usage 5 2.1 Other useful directives.......................................... 6 3
More informationGhislain Fourny. Big Data 7. Syntax
Ghislain Fourny Big Data 7. Syntax Introduction 2 The stack: Syntax Text CSV XML JSON RDF/XML Turtle XBRL Syntax 3 Data Shapes Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel erat nec
More informationTravelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes 2/14/ :01 AM V1.5
Travelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes /4/0 :0 AM V.5 Katie Turcotte Rob Staples Michael Johnson Natalie Weathers John Adcox : A Unified Marketing
More informationTitle Optional Subtitle
. Title Optional Subtitle J. Random Author Technische Universiteit Delft . Title Optional Subtitle by J. Random Author in partial fulfillment of the requirements for the degree of Master of Science in
More information.and we ll give you 100 to say thank you
The digital bank Windows Internet Explorer http://www.anybank.co.uk/distinction Open an anybank current account today. Get our award winning Distinction Account 5 mobile banking app No monthly fees* Earn
More informationBrand Guidelines Clarity Coverdale Fury
Brand Guidelines 1 B R A N D M A N I F ESTO There s a spark when a girl realizes she has someone she can count on to support her dreams. The Ann Bancroft Foundation believes in nurturing that spark. Through
More informationIntroduction to MVC 1.0
Introduction to MVC 1.0 David Delabassee - @delabassee Software Evangelist Cloud & Microservices - Oracle Java Day Tokyo 2016 May 24, 2016 Copyright 2016, Oracle and/or its its affiliates. All All rights
More informationGraphic Identity Manual Version 5.0 (Updated 08/17)
Graphic Identity Manual Version 5.0 (Updated 08/17) University at at Albany Graphic Identity Manual 2 Contents 3 Introduction 4 Name 5 Colors 7 Typefaces and Fonts 8 Wordmarks and Logos 16 Signatures 17
More informationTitle. Optional subtitle J. Random Author. Cover Text possibly spanning multiple lines ISBN
Title Optional subtitle J. Random Author Cover Text possibly spanning multiple lines ISBN 000-00-0000-000-0 Title Optional subtitle by J. Random Author to obtain the degree of Master of Science at the
More informationLECTURE 6 Scanning Part 2
LECTURE 6 Scanning Part 2 FROM DFA TO SCANNER In the previous lectures, we discussed how one might specify valid tokens in a language using regular expressions. We then discussed how we can create a recognizer
More informationAmplience Content Authoring Cartridge for Salesforce Commerce Cloud
Amplience Content Authoring Cartridge for Salesforce Commerce Cloud Makes it easy to integrate Amplience-created content modules with Commerce Cloud page templates. The result? Seamless content and commerce
More informationElaine Torres/Jeremy Henderson/Edward Bangs
SCENARIO 1: IMAGE AND TEXT PERSONAL USE Lorem ipsum dolor sit am, consectur adipiscing Lorem ipsum dolor sit am, consectur adipiscing Cloud Capture Icon appears in the top right corner of any browser after
More informationTelly Mamayek, MCWD Director of Communications and Education
Minnehaha Creek Watershed District REQUEST FOR BOARD ACTION MEETING DATE: March 26, 2015 TITLE: Acceptance of 2014 MCWD Brand Manual Updates RESOLUTION NUMBER: 15-XXX021 PREPARED BY: Telly Mamayek, MCWD
More informationFOR THOSE WHO DO. Lenovo Annual Report
FOR THOSE WHO DO. Lenovo Annual Report 2014 CONTENTS 2 6 About Lenovo 4 Financial Highlights 5 Chairman & CEO Statement Performance About Lenovo Lenovo is one of the world's leading personal technology
More informationBOOTSTRAP AFFIX PLUGIN
BOOTSTRAP AFFIX PLUGIN http://www.tutorialspoint.com/bootstrap/bootstrap_affix_plugin.htm Copyright tutorialspoint.com The affix plugin allows a to become affixed to a location on the page. You can
More informationUser Manual. Version ,
User Manual Version 2.3.13, 2018-07-20 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...13 Block name...14 Block code...15 Quickly disable insertion...15
More informationUser Guide. Version 2.3.9,
User Guide Version 2.3.9, 2018-05-30 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...13 Block name...14 Block code...15 Quickly disable insertion...15
More informationMachine-actionable Data Management Planning
Machine-actionable Data Management Planning Please select a stakeholder to launch the associated mockup! Researcher Research Support ICT Operator Management Funder DMap Sign In Welcome to DMap the Machine-actionable
More informationBOOTSTRAP GRID SYSTEM
BOOTSTRAP GRID SYSTEM http://www.tutorialspoint.com/bootstrap/bootstrap_grid_system.htm Copyright tutorialspoint.com In this chapter we shall discuss the Bootstrap Grid System. What is a Grid? As put by
More informationTITLE - Size 16 - Bold
EDCE 2010-2011 - Size 12 - Normal Conceptual Design of Structures - Size 12 - Normal Instructor: A. Muttoni, R. Salvi, P. Wahlen - Assitant: T. Clément - Author: X. Name - TITLE - Size 16 - Bold Pier Luigi
More informationConnected TV Applications for TiVo. Project Jigsaw. Design Draft. 26 Feb 2013
Connected TV Applications for TiVo Project Jigsaw Design Draft 26 Feb 2013 UI Design Connected TV application for TiVo Project Jigsaw 2 Overview LAUNCH POINT The goal of Project Jigsaw is to create a library
More informationUser Guide. Version 2.3.0,
User Guide Version 2.3.0, 2018-01-21 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...12 Block name...13 Block code...14 Simple editor for mobile
More informationSIGNAGE STANDARDS MANUAL RYERSON UNIVERSITY
SIGNGE STNDRDS MNUL RYERSON UNIVERSITY 350 VICTORI ST, TORONTO, ON M5 2K3 ISSUE FOR TENDER SEPTEMER 1, 2017 Sign Type 1.0/Interior Identification Sign Type 2.0/Interior Directory Sign Type 3.0/Interior
More informationC OLLABORATIVE AI WORKFLOWS
C OLLABORATIVE AI WORKFLOWS At, we transform the way people work within companies We offer the technological solutions to develop bespoke collaborative workflows providing superior access to information,
More informationCreating An Effective Academic Poster. ~ A Student Petersheim Workshop
Creating An Effective Academic Poster ~ A Student Petersheim Workshop 11 Seconds Poster Graphics and Pictures Headlines and Subheadings Poster Copy PRINCIPLES OF DESIGN BALANCE Visual balance comes
More information1 VISION BRAND. Vision Brand Guide
1 VISION BRAND Vision Brand Guide Introduction There are times in the evolution of every corporation that you must embrace change in order to move forward. Optimal strategic positioning and corporate brand
More informationKeywords: authors must specify 3-5 keywords in English, which will be used for indexing
Title Subtitle Author Name1, Author Name2* Affiliation1, *Affiliation2 Authors must provide an abstract of 100-200 words, written in English in a single paragraph. Lorem ipsum dolor sit amet, consectetur
More informationTITLE SUBTITLE Issue # Title Subtitle. Issue Date. How to Use This Template. by [Article Author] Article Title. Page # Article Title.
TITLE SUBTITLE Issue # Title Subtitle Issue Date TYPE TAGLINE HERE IN THIS ISSUE How to Use This Template Article Title Page # Article Title Page # TITLE SUBTITLE Issue # 2 Using Styles by Name Style HEADING
More informationTimon Hazell, LEED AP Senior BIM Engineer. Galen S. Hoeflinger, AIA BIM Technologist Manager
Timon Hazell, LEED AP Senior BIM Engineer Galen S. Hoeflinger, AIA BIM Technologist Manager Find Joy in Your Work The Human Aspect The Human Aspect Importance of Architecture Know People The Human Aspect
More informationMKA PLC Controller OVERVIEW KEY BENEFITS KEY FEATURES
1881 OVERVIEW The ezswitch Controller is a compact PLC for the modular. In addition to providing commonly used network and Fieldbus interfaces, the controller supports all digital, analog and speciality
More informationBRAND GUIDELINES All rights reserved.
BRAND GUIDELINES 2017. All rights reserved. LOGO :: INTRODUCTION The Live Purple Logo Mark the most recognizable visual brand element differentiates itself from similar cause based fundraisers. The mark
More informationGestures: ingsa GESTURES
GESTURES FORWARD AND BACKWARD SWIPE RIGHT TO GO TO THE NEXT SCREEN OR SWIPE LEFT TO GO TO THE PREVIOUS SCREEN IN THE STORY FLOW SELECT TAP WITH 1 FINGER TO NAVIGATE THOROUGH AN INTERACTIVE ITEM (SCENES)
More informationBuoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links
Buoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links Tuomas J. Lukka, Janne V. Kujala, Matti Katila and Benja Fallenstein Hyperstructure Group Agora Center,
More information(12) United States Patent
USOO8782.042B1 (12) United States Patent Cooke et al. (54) METHOD AND SYSTEM FOR IDENTIFYING ENTITIES (75) Inventors: David Cooke, Los Altos, CA (US); Martin Betz, Palo Alto, CA (US); Ashutosh Joshi, Fremont,
More informationHMH : Site Consolidation Batch 1 June Wireframes : v 1.5
HMH : Site Consolidation Document Overview Page of Overview Legend A wireframe is a visual guide representing the components of a webpage and the relationships between its pages. It specifies the critical
More informationq u e s t i o n s? contact or
Chocolate Grail offers gourmet and artisanal chocolatiers different advertising options listed below. Two options are free: the basic listing and reviews. listings home page features quick pick fix reviews
More informationExample project Functional Design. Author: Marion de Groot Version
Example project Functional esign uthor: Marion de Groot Version 1.0-18-4-2013 Table of contents 3 Introduction Requirements gathering 4 Use cases 5 Use case flow diagram 6 Users and Rights 7 Requirements
More informationTITLE. Tips for Producing a Newsletter IN THIS ISSUE
TITLE UNIT NAME DATE Advantages of a Newsletter The purpose of a newsletter is to provide specialized information to a targeted audience. Newsletters can be a great way to market yourself, and also create
More informationPIXEL PERFECT PRECISION. Version 3 Produced
PIXEL PERFECT PRECISION Version 3 Produced by ustwo @pppustwo @gyppsy CONTENT Intro 1 Photoshop & ustwo 110 Thanks 2 Colour Profiles 111 The Core 3 Pixel Precision 116 Pixel Perfect Principles 4 Techniques
More informationVendio Stores RST Template Language Reference
Vendio Stores RST Template Language Reference Version 2.1, 09/07/2009 2009 by Vendio Services, Inc. 1 Contents Introduction:...4 The Vendio Stores...4 Assumptions and prerequisites...6 1. RST Basics...6
More informationVisual identity guideline. BrandBook BLOOMINGFELD. Brandbook 2016.
BrandBook 2016. Logo. Correct color use Typeface BLOOMING FELD Brandon Grotesque Black Brandon Grotesque Regular ABCDEFGHIJKLMNOPQR STUVWXYZ ABCDEFGHIJKLMNOPQR STUVWXYZ abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz
More informationBOWIE FARMERS MARKET. Anne Bontogon Campaign Bowie Farmers Market
BOWIE FARMERS MARKET Anne Bontogon Campaign Bowie Farmers Market Research Competition: Bowie Farmers Market is provides fresh produce, fruit, meat and poultry in the Bowie community. Its competitors are
More informationTranslation features of SharePoint Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios
Translation features of SharePoint 2013. Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios Machine Translation Risks 3 Machine Translation Risk to your brand Machine Translation:
More information