V&V Software testing. Benoit Baudry
|
|
|
- Thomasina Hunt
- 10 years ago
- Views:
Transcription
1 V&V Software testing Benoit Baudry - 1 -
2 VV 7 CM / TD Test et analyse pour les développeurs 7 TP 1 concept de test: unitaire, intégration, statique, ihm, web, génération automatique, analyse de test 1 techno 1 CM et 1 TP étude et compte rendu sur une techno de test 2
3 Testing technique Findbugs: PIT: static analysis on Java bytecode Evosuite: automatic generation of test cases for Java programs JavaPathFinder: automated analysis of Java programs Gzoltar: fault localization in Java programs mutation testing tool for Java programs Robolectric: test Android apps Sikuli: automates anything you see on the screen SDK android: test and debug Android apps 3
4 Testing technique By Friday Sep 19 Form groups of 5 or 6 students Choose one technology Friday Oct 24 a short presentation of the technology a demo all material (slides and code for the demo) on Istic Gforge or Github 4
5 WHAT ARE WE LOOKING FOR? 5
6 We look for bugs source: 6
7 Local bugs Some bugs are very local redundant code wrong condition omission lack of checks divide by zero approximations 7
8 Many bugs in conditions source: 8
9 Zune bug while (days > 365)! {! if (IsLeapYear(year))! {! if (days > 366)! {! days -= 366;! year += 1;! }! }! else! {! days -= 365;! year += 1;! }! }! (days >= 366) source: 9
10 Zune bug Zune 30 was the first portable media player released by Microsoft release date: november 2006 On Dec 31, 2008 all Zune stop working Software bug in the firmware: infinite loop when dealing with leap years Huge loss of business 10
11 Heartbleed bug! if ((err = ReadyHash(&SSLHashSHA1, &hashctx))!= 0)! goto fail;! if ((err = SSLHashSHA1.update(&hashCtx, &clientrandom))!= 0)! goto fail;! if ((err = SSLHashSHA1.update(&hashCtx, &serverrandom))!= 0)! goto fail;! if ((err = SSLHashSHA1.update(&hashCtx, &signedparams))!= 0)! goto fail;! goto fail;! if ((err = SSLHashSHA1.final(&hashCtx, &hashout))!= 0)! goto fail;!!err = sslrawverify(ctx,! ctx->peerpubkey,! datatosign,!!!!/* plaintext */! datatosignlen,!!!/* plaintext length */! signature,! signaturelen);!!if(err) {!!!sslerrorlog("ssldecodesignedserverkeyexchange: sslrawverify "! "returned %d\n", (int)err);!!!goto fail;!!}!! fail:! SSLFreeBuffer(&signedHashes);! SSLFreeBuffer(&hashCtx);! return err;! } source: 11
12 Heartbleed bug source: 12
13 Heartbleed bug Bug introduced March 2012 Bug revealed in April 2014 Without using any privileged information, it is possible to retrieve secret keys used for X.509 certificates user names and passwords instant messages s and business critical documents 13
14 More local bugs examples USS Yorktown (1998) Division by zero stops the engine of the submarine Guiding system(2002) Wrong initialization The Patriot and the Scud (1991) approximation in substraction
15 Global bugs Some bugs emerge from interactions wrong assumptions about third parties error in reuse concurrency bugs hardware/software/user improbable interactions 15
16 Northeast blackout of 2003 Widespread power outage on Aug 14, 2003 Affected an estimated 10 million people in Ontario and 45 million people in eight U.S. states. Software bug in the alarm system at a control room of the FirstEnergy corp. When triggered, race condition caused alarm system to stall for over an hour source: 16
17 Race condition public class SimpleApplet extends java.applet.applet{! java.awt.image art;!! public void init() {! art = getimage(getdocumentbase(),!!!!!!!!!!getparameter("img")) }!! public void paint(java.awt.graphics g) {! g.drawimage(art, 0, 0, this);! }!! an Applet's paint() method can be }! called before its init() method. 17
18 Check input public class SimpleApplet extends java.applet.applet{! java.awt.image art;!! public void init() {! art = getimage(getdocumentbase(),!!!!!!!!!!getparameter("img")) }!! public void paint(java.awt.graphics g) {! }! if (art!=null){!!!!g.drawimage(art, 0, 0, this);!!!}! }! 18
19 Ariane 501 H0 -> H0+37s : nominal Dans SRI 2 (Inertial Reference System) : BH (Bias Horizontal) > 2^15 convert_double_to_int(bh) fails! exception SRI -> crash SRI2 & 1 OBC (On-Board Computer ) disoriented Angle attaque > 20, charges aérodynamiques élevées Séparation des boosters
20 Ariane 501 H0 + 39s: auto-destruction (coût: 500M )
21 Why? (cf. Jézéquel et al., IEEE Comp. 01/97) Ariane 5 reused a component from Ariane 4, which had an implicit assumption! Assumes a constraint on input domain Précondition : abs(bh) < OK for Ariane 4 but not Ariane 5 Need to specify exact contracts
22 More global bug examples London Ambulance System (1992) delays in medical emergencies bad data checks, memory leaks, GUI issues, bad HW reuse, etc. Mars orbiter (1999) Comparing inches with meters makes the probe crash on landing Orange (2012) bug in the replicated, brand new HLR, no alarm triggered Facebook IPO glitch (2012) race condition 22
23 Even more global bugs Therac-25 (official report) The software code was not independently reviewed. The software design was not documented with enough detail to support reliability modelling. The system documentation did not adequately explain error codes. AECL personnel were at first dismissive of complaints. The design did not have any hardware interlocks to prevent the electron-beam from operating in its high-energy mode without the target in place. Software from older models had been reused without properly considering the hardware differences. The software assumed that sensors always worked correctly, since there was no way to verify them. (see open loop) Arithmetic overflows could cause the software to bypass safety checks. The software was written in assembly language. While this was more common at the time than it is today, assembly language is harder to debug than high-level languages
24 Even more global bugs Système d information du FBI abandonné en avril 2005 : coût 170 M $ mauvaise spécification, exigences mal exprimées réutilisation dans un contexte inadapté trop d acteurs concurrents (hommes politiques, agents secrets, informaticiens)
25 Software fails Multiple causes various sources various levels various reasons True for every domain Has all sorts of consequences 25
26 Amazon s $23,698, book about flies Algorithmic pricing: Once a day profnath set their price to be times bordeebook s price, then bordeebook noticed profnath s change and elevated their price to times profnath s higher price. 26
27 WHY IS IT SO HARD TO BUILD CORRECT SOFTWARE? 27
28 Programming-in-the-small Acquérir une valeur positive n Tant que n > 1 faire si n est pair alors n := n / 2 sinon n := 3n+1 Sonner alarme; Prouver que l alarme est sonnée pour tout n? Indécidabilité de certaines propriétés problème de l arrêt de la machine de Turing... Ø Recours au test ici, si machine 32 bits, 2^31 = 10^10 cas de tests 5 lignes de code => 10 milliards de valeurs!
29 Programming-in-the-large See
30 Programming-in-the-large Windows XP is compiled from 45 million lines of code. See Example*: Linux Kernel ,142,481 Firefox ,172,520 MySQL ,768 PHP ,892 Apache Http 2.0.x - 89,967 * eloc (effective line of code) is the measurement of all lines that are not comments, blanks or standalone braces or parenthesis (see rsm_software_project_metrics.htm) Greg Kroah-Hartman, Jonathan Corbet, Amanda McPherson. "Linux Kernel Development: How Fast it is Going, Who is Doing - It, What They are Doing, and Who is Sponsoring It" (March 2012). 3 The Linux Foundation. Retrieved
31 Programming-in-the-large See Retrieved
32 Programming-in-the-large But also
33 Programming-in-the-large See Retrieved Interoperability
34 Programming-in-the-large - Collaborative projects 137 contributors, 5000 commits, 1300 forks 97 contributors, commits, 173 forks 34
35 Programming-in-the-large - Reusability - Durability - Variability 35
36 Programming-in-the-large - Critical - Real-time - Embedded système embarqué : avion, voiture
37 Programming-in-the-large Ø "The avionics system in the F-22 Raptor [ ] consists of about 1.7 million lines of software code. Ø F-35 Joint Strike Fighter [ ] will require about 5.7 million lines of code to operate its onboard systems. Ø Boeing s new 787 Dreamliner [ ] requires about 6.5 million lines of software code to operate its avionics and onboard support systems. Ø if you bought a premium-class automobile recently, it probably contains close to 100 million lines of software code. [ ] All that software executes on 70 to 100 microprocessor-based electronic control units (ECUs) networked throughout the body of your car. Ø Alfred Katzenbach, the director of information technology management at Daimler, has reportedly said that the radio and navigation system in the current S-class Mercedes-Benz requires over 20 million lines of code alone and that the car contains nearly as many ECUs as the new Airbus A380 (excluding the plane s in-flight entertainment system). Ø IBM claims that approximately 50 percent of car warranty costs are now related to electronics and their embedded software "This Car Runs on Code", By Robert N. Charrette, IE
38 Programming-in-the-large
39 Programming-in-the-large Autonomic Computing Cloud Computing PaaS, SaaS, IoS, IoT... 39
40 Programming-in-the-Duration (maintenance) Etalement sur 10 ans ou plus d une ligne de produits Près de 80 ans dans l avionique! Age moyen d un système : 7 ans 26% des systèmes ont plus de 10 ans (Cf. Application banquaire et Cobol)
41 Long term availability AIRBUS A300 Life Cycle Program began in 1972, production stopped in = 35 years... Support will last until = 78 years!! On board software development for very long lifecycle products
42 V-cycle Innovation factory processes CMMI SCRUM spiral distributed embedded security critical constraints scalability end-user environments cloud lean innovation economics SOA outsourcing agility CP CBSE OOP AOP languages enduser Procedural DSL DSML UML 42
43 HOW TO BUILD RELIABLE SOFTWARE? 43
44 Engineering reliable software Constructive approach Formal modeling Garantees by construction Analytical approach Program analysis Detect and fix and errors Fault-tolerance Admit the presence of errors Enhance software with fault-tolerance mechanisms 44
45 Constructive approach Garantee the absence of bugs Top-down approach Model-driven development + formal analysis Formal proof Automatic or manual Offers exhaustive garantees based on logical modeling and reasoning Examples: Isabelle/HOL, B, KeY, Coq Used on specific parts of critical software (e.g., certified C compiler) 45
46 Constructive approach Model checking Formal behavioral model (transition system) Exhaustive verification of properties on model executions (e.g., absence of deadlock, safety and liveness properties) Examples: SCADE, Java PathFinder Used in hardware and software verification at the system level for systems engineering (defense, nuclear plant, transportation, etc.) 46
47 Analytical approach Look for the presence of bugs Heuristic-based Analyze all sorts of software artefacts (code, models, requirements, etc.) Software testing 47
48 Fault-tolerance Assume that it is impossible to prevent the occurrence of bugs in production software Enhance the system with the ability to deal with it Design diversity at the systems level Exception handling at the source code level Randomization at the machine code level 48
49 Fault-tolerance N-version programming version 1 version 1 version 2 input version 2 vote output version 3 version 3 49
50 Google s innovation factory Google (2012 Update from Larry Page, CEO): Over 850,000 Android devices are activated daily through a network of 55 manufacturers and more than 300 carriers. Google Chrome browser has over 200 million users. Google launched Gmail in 2004 and now is used by more than 350 million people. YouTube has over 800 million monthly users who upload an hour of video per second. See
51 Google s innovation factory
52 Netflix s simian army Streaming TV network service approx. 40 million subscribers very high dependence on software and cloud (runs on Amazon EC2) major player in open source Induce failure regularly break production code to check the system s ability to react Chaos monkey: randomly terminates an instance in production Chaos kong: take an entire region offline Latency monkey: artificial delay in RESTful clients 52
53 Loop perforation It used to be that people used computers for computations where there was a single, hard, logical right answer Trade-off between accuracy and performance for (i=0; i<b; i++){ } transform for (i=0; i<b; i+=n){ } 53
54 Loop perforation source code Instrumentation instrumented binary Monitoring and perforation running program Compile In memory Execution unsound transformation still useful Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, Martin C. Rinard: Quality of service profiling. ICSE (1) 2010:
55 Loop perforation 55
56 A question of perspective Verification: $ "Are we building the product right" The software should conform to its specification Validation:$ "Are we building the right product" The software should do what the user really requires 56
57 A question of perspective Stakeholder customer, developer, sales Qualitative functionality, usability, safety-critical, etc. Application kind embedded, adaptive, reactive, etc. 57
58 In this class Software testing most probably the technique you ll have to use for verification validation is essential but requires the involvement of users => usually done by specific teams, who don t develop from the developer s perspective you should test your software and you ll be assigned testing tasks in your future jobs 58
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Certification of a Scade 6 compiler
Certification of a Scade 6 compiler F-X Fornari Esterel Technologies 1 Introduction Topic : What does mean developping a certified software? In particular, using embedded sofware development rules! What
If you do NOT use applications based on Amazon Web Services raise your hand.
If you do NOT use applications based on Amazon Web Services raise your hand. If you use NetFlix, lower your hand. Use reddit, lower your hand. Use Scribd, lower your hand. Use Spotify, lower your hand.
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Linux A multi-purpose executive support for civil avionics applications?
August 2004 Serge GOIFFON Pierre GAUFILLET AIRBUS France Linux A multi-purpose executive support for civil avionics applications? Civil avionics software context Main characteristics Required dependability
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Amazon Web Services Demo Tech Exchange. Slides: http://goo.gl/mwz0es. [email protected]
Amazon Web Services Demo Tech Exchange Slides: http://goo.gl/mwz0es [email protected] $ dig +short emergency.iu.edu emergency.iu.edu.s3-website-us-east-1.amazonaws.com. s3-website-us-east-1.amazonaws.com. 54.231.14.220
Motivation and Contents Overview
Motivation and Contents Overview Software Engineering Winter Semester 2011/2012 Department of Computer Science cs.uni-salzburg.at Dr. Stefan Resmerita 2 Course Contents Goals Learning about commonly used
Dependable Systems Course. Introduction. Dr. Peter Tröger
Dependable Systems Course Introduction Dr. Peter Tröger Dependable Systems Course Extended version of the Dependable Systems course at Humboldt University (www.rok.informatik.hu-berlin.de) Knowledge gained
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
Modern practices 2.3.2015 02.03.2015 TIE-21100/21106 1
Modern practices 2.3.2015 1 Today s lecture Learn what some modern SW engineering topics are about A peek to some research topic of our department 2 3 4 5 6 How the lectures continue? 02.03 Modern practices
Mobile Testing That s Just a Smaller Screen, Right?
Mobile Testing That s Just a Smaller Screen, Right? Stephen Janaway Senior Software Test Manager Nokia Mobile Phones Who am I? Stephen Janaway 12 years experience in mobile software testing. Software testing
CS 40 Computing for the Web
CS 40 Computing for the Web Art Lee January 20, 2015 Announcements Course web on Sakai Homework assignments submit them on Sakai Email me the survey: See the Announcements page on the course web for instructions
Software Engineering. Computer Science Tripos 1B Michaelmas 2011. Richard Clayton
Software Engineering Computer Science Tripos 1B Michaelmas 2011 Richard Clayton Critical software Many systems must avoid a certain class of failures with high assurance safety critical systems failure
NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases
NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases Background Inspiration: postgresapp.com demo.beatstream.fi (modern desktop browsers without
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
Assignment # 1 (Cloud Computing Security)
Assignment # 1 (Cloud Computing Security) Group Members: Abdullah Abid Zeeshan Qaiser M. Umar Hayat Table of Contents Windows Azure Introduction... 4 Windows Azure Services... 4 1. Compute... 4 a) Virtual
Introduction: Why do we need computer networks?
Introduction: Why do we need computer networks? Karin A. Hummel - Adapted slides of Prof. B. Plattner, [email protected] - Add-on material included of Peterson, Davie: Computer Networks February
Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair
Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair Martin Monperrus, Benoit Baudry Dagstuhl Preprint, Seminar #13061, 2013. Link to the latest version Abstract In this paper, we
Building native mobile apps for Digital Factory
DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels
C# and Other Languages
C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List
Security Benefits of Cloud Computing
Security Benefits of Cloud Computing FELICIAN ALECU Economy Informatics Department Academy of Economic Studies Bucharest ROMANIA e-mail: [email protected] Abstract: The nature of the Internet is
LEVERAGING DEDUCTIVE VERIFICATION IN INDUSTRIAL CONTEXTS
LEVERAGING DEDUCTIVE VERIFICATION IN INDUSTRIAL CONTEXTS CEA S SOFTWARE SAFETY LABORATORY 1995: LEAP FROM DYNAMIC TO STATIC CODE ANALYSIS! CAVEAT: ARCHITECTURE C source code VC Generator Formal specifications
F-22 Raptor. Agenda. 1. Motivation
Model-Based Software Development and Automated Code Generation for Safety-Critical Systems F-22 Raptor for the Seminar Advanced Topics in Software Engineering for Safety-Critical Systems Cause: Bug in
Reminders. Lab opens from today. Many students want to use the extra I/O pins on
Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students
How To Understand Cloud Computing
Overview of Cloud Computing (ENCS 691K Chapter 1) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Overview of Cloud Computing Towards a definition
Introduction to Static Analysis for Assurance
Introduction to Static Analysis for Assurance John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Static Analysis for Assurance: 1 Overview What is static analysis?
Available online at http://acfa.apeejay.edu APEEJAY JOURNAL OF COMPUTER SCIENCE AND APPLICATIONS ISSN: 0974-5742(P)
COMPARATIVE ANALYSIS OF VARIOUS CLOUD TECHNOLOGIES Harmandeep Singh P.hd Research Scholar, Punjab Technical University, Jallandhar-Kapurtahla Highway, Kapurthala-144601(Punjab), INDIA Abstract With the
Security in SCADA solutions
Security in SCADA solutions Green Hills Software Peter Hoogenboom Engineering Manager - EMEA 2011 Green Hills Software D&E Event, 22 Sep 2011, Evoluon Eindhoven (NL) Slide 1 Security in SCADA solutions
Building A Self-Hosted WebRTC Project
Building A Self-Hosted WebRTC Project Rod Apeldoorn EasyRTC Server Lead Priologic Software Inc. [email protected] Slides will be available at: http://easyrtc.com/cloudexpo/ A Little About Priologic
Account Manager H/F - CDI - France
Account Manager H/F - CDI - France La société Fondée en 2007, Dolead est un acteur majeur et innovant dans l univers de la publicité sur Internet. En 2013, Dolead a réalisé un chiffre d affaires de près
Addressing Mobile Load Testing Challenges. A Neotys White Paper
Addressing Mobile Load Testing Challenges A Neotys White Paper Contents Introduction... 3 Mobile load testing basics... 3 Recording mobile load testing scenarios... 4 Recording tests for native apps...
Lesson 06: Basics of Software Development (W02D2
Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash
Cisco Integration Platform
Data Sheet Cisco Integration Platform The Cisco Integration Platform fuels new business agility and innovation by linking data and services from any application - inside the enterprise and out. Product
Software Product Information. Faba5 Website
Software Product Information Faba5 Website Valid from 09th March 2013 Copyright Faba5 GmbH, A-4020 Linz, 2013. All rights reserved. All hardware and software names used are registered trade names and/or
DirX Identity V8.5. Secure and flexible Password Management. Technical Data Sheet
Technical Data Sheet DirX Identity V8.5 Secure and flexible Password Management DirX Identity provides a comprehensive password management solution for enterprises and organizations. It delivers self-service
Levels of Software Testing. Functional Testing
Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies
Getting Things Done: Practical Web/e-Commerce Application Stress Testing
Getting Things Done: Practical Web/e-Commerce Application Stress Testing Robert Sabourin President Montreal, Canada [email protected] Slide 1 Practical Web/e-Commerce Application Stress Testing Overview:
Abstract Interpretation-based Static Analysis Tools:
Abstract Interpretation-based Static Analysis Tools: Proving the Absence of Runtime Errors and Safe Upper Bounds on the Worst-Case Execution Time and Safe Upper Bounds on the Stack Usage Christian Ferdinand
Cloud Computing Is In Your Future
Cloud Computing Is In Your Future Michael Stiefel www.reliablesoftware.com [email protected] http://www.reliablesoftware.com/dasblog/default.aspx Cloud Computing is Utility Computing Illusion
Safety-Critical Firmware What can we learn from past failures?
Safety-Critical Firmware What can we learn from past failures? Michael Barr & Dan Smith Webinar: September 9, 2014 MICHAEL BARR, CTO BSEE/MSEE and Firmware Developer Consultant and Trainer (1999-present)
Latest Research and Development on Software Testing Techniques and Tools
General Article International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347-5161 2014 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Rasneet
Tech Day IBM 28 août 2009 RAT06P3 Introduction à Rhapsody Architect pour l Ingénierie des Systèmes et des Logiciels Embarqués
IBM Software Group Tech Day IBM 28 août 2009 RAT06P3 Introduction à Rhapsody Architect pour l Ingénierie des Systèmes et des Logiciels Embarqués Philippe Leblanc, IT Specialist, [email protected]
Course Goals. Solve Non-Technical Customer problem Server side: Ruby on Rails Client side: HTML, CSS, AJAX, JavaScript Deploy using cloud computing
Course Goals Learn Software Engineering Principles by understanding new challenges, opportunities, and open problems of SaaS Take a SaaS project from conception to public deployment Solve Non-Technical
DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2
DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing Slide 1 Slide 3 A style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 1 Important Facts Office Hours: Thu 3-4pm, or by appointment Office: CIWW 407 Course web site: http://cs.nyu.edu/wies/teaching/rsd-13
Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997
1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS
Helping people make better decisions DATA SECURITY POLICY. Kiilakiventie 1, 90250 Oulu, Finland tel: +358 10 423 7901 www.zef.
Helping people make better decisions DATA SECURITY POLICY Kiilakiventie 1, 90250 Oulu, Finland tel: +358 10 423 7901 www.zef.fi/en GENERAL Server Operating system: Unix, Apache 2.x. User interface implemented
Cloud Platforms, Challenges & Hadoop. Aditee Rele Karpagam Venkataraman Janani Ravi
Cloud Platforms, Challenges & Hadoop Aditee Rele Karpagam Venkataraman Janani Ravi Cloud Platform Models Aditee Rele Microsoft Corporation Dec 8, 2010 IT CAPACITY Provisioning IT Capacity Under-supply
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course
Squashing the Bugs: Tools for Building Better Software
Squashing the Bugs: Tools for Building Better Software Stephen Freund Williams College The Blue Screen of Death (BSOD) USS Yorktown Smart Ship 27 Pentium-based PCs Windows NT 4.0 September 21, 1997: data
Web Based Application Tool (WBAT) For SMS Implementation!
Web Based Application Tool (WBAT) For SMS Implementation! Non-Compliance could kill the Viability of your Business Aircraft Operations! FDTL (Fixed & Rotary Wing) Safety Data Management Hazard Identification
Today. Important From Last Time. Old Joke. Computer Security. Embedded Security. Trusted Computing Base
Important From Last Time A system is safety critical when its failure may result in injuries or deaths Verification and validation can dominate overall development effort Today Embedded system security
An Introduction to Cloud Computing Concepts
Software Engineering Competence Center TUTORIAL An Introduction to Cloud Computing Concepts Practical Steps for Using Amazon EC2 IaaS Technology Ahmed Mohamed Gamaleldin Senior R&D Engineer-SECC [email protected]
As it relates to Android Studio. By Phil Malone: [email protected]
As it relates to Android Studio By Phil Malone: [email protected] *Jargon, Jargon and More Jargon *Where to find tools/documentation *The Software Components *Driver Station *Robot Controller *The
Cloud Computing: Computing as a Service. Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad
Cloud Computing: Computing as a Service Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad Abstract: Computing as a utility. is a dream that dates from the beginning from the computer
WHAT WE NEED TO START THE PERFORMANCE TESTING?
ABSTRACT Crystal clear requirements before starting an activity are always helpful in achieving the desired goals. Achieving desired results are quite difficult when there is vague or incomplete information
Chapter 8 Software Testing
Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is
Cloud Computing. Adam Barker
Cloud Computing Adam Barker 1 Overview Introduction to Cloud computing Enabling technologies Different types of cloud: IaaS, PaaS and SaaS Cloud terminology Interacting with a cloud: management consoles
Distribution transparency. Degree of transparency. Openness of distributed systems
Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science [email protected] Chapter 01: Version: August 27, 2012 1 / 28 Distributed System: Definition A distributed
Lecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战
Mobile Cloud Computing: Paradigms and Challenges 移 动 云 计 算 : 模 式 与 挑 战 Jiannong Cao Internet & Mobile Computing Lab Department of Computing Hong Kong Polytechnic University Email: [email protected]
Dynamic Deployment and Scalability for the Cloud. Jerome Bernard Director, EMEA Operations Elastic Grid, LLC.
Dynamic Deployment and Scalability for the Cloud Jerome Bernard Director, EMEA Operations Elastic Grid, LLC. Speaker s qualifications Jerome Bernard is a committer on Rio, Typica, JiBX and co-founder of
WINDOWS AZURE DATA MANAGEMENT
David Chappell October 2012 WINDOWS AZURE DATA MANAGEMENT CHOOSING THE RIGHT TECHNOLOGY Sponsored by Microsoft Corporation Copyright 2012 Chappell & Associates Contents Windows Azure Data Management: A
Bienvenue au Forum Vector 2007
insert Insert picture and 8cm click x 7cm Align Title Graphic. Bienvenue au Forum Vector 2007 Henri Belda Vector France V2.1 2005-07-27 insert Insert picture and 8cm click x 7cm Align Title Graphic. Vector
Navigating Among the Clouds. Evaluating Public, Private and Hybrid Cloud Computing Approaches
Navigating Among the Clouds Evaluating Public, Private and Hybrid Cloud Computing Approaches June 2012 Much like the winds of change that continue to alter the cloud landscape in the skies above, a powerful
API MORNING. IBM Bluemix. The Digital Innovation Platform. [email protected]. 2015 IBM Corporation
API MORNING IBM Bluemix The Digital Innovation Platform [email protected] Timing is critical Today s apps must keep up with the speed of the app revolution. Customer Managed Code Data Runtime Middleware
Using Apache Derby in the real world
Apache Derby a 100% Java Open Source RDBMS Using Apache Derby in the real world Victorian AJUG, Australia 28 th August 2008 Chris Dance Chris Dance Introduction Director and Found of PaperCut Software
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Performance Testing Crash Course
Performance Testing Crash Course Dustin Whittle @dustinwhittle The performance of your application affects your business more than you might think. Top engineering organizations think of performance not
MSOW. MSO for the Web MSONet Workstation Configuration Guide
MSOW MSO for the Web MSONet Workstation Configuration Guide For personal and public computer users accessing MSOW Practitioner Home Page (PHP) and Primary Source Verification (PSV) Updated June 4, 2013
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
ONLINE ACCOUNTABILITY FOR EVERY DEVICE. Quick Reference Guide V1.0
ONLINE ACCOUNTABILITY FOR EVERY DEVICE Quick Reference Guide V1.0 TABLE OF CONTENTS ACCOUNT SET UP Creating an X3watch account DOWNLOADING AND INSTALLING X3WATCH System Requirements How to install on a
Part V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts
Part V Applications Cloud Computing: General concepts Copyright K.Goseva 2010 CS 736 Software Performance Engineering Slide 1 What is cloud computing? SaaS: Software as a Service Cloud: Datacenters hardware
Windows Azure and private cloud
Windows Azure and private cloud Joe Chou Senior Program Manager China Cloud Innovation Center Customer Advisory Team Microsoft Asia-Pacific Research and Development Group 1 Agenda Cloud Computing Fundamentals
farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com
Contents 2 1 System requirements 2 1.1 Server Application 3 1.2 Client Application.com 1 1 Ensure that the computers on which you are going to install the Server and Client applications meet the system
Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity
P3 InfoTech Solutions Pvt. Ltd http://www.p3infotech.in July 2013 Created by P3 InfoTech Solutions Pvt. Ltd., http://p3infotech.in 1 Web Application Deployment in the Cloud Using Amazon Web Services From
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
Software Requirements Specification
METU DEPARTMENT OF COMPUTER ENGINEERING Software Requirements Specification SNMP Agent & Network Simulator Mustafa İlhan Osman Tahsin Berktaş Mehmet Elgin Akpınar 05.12.2010 Table of Contents 1. Introduction...
GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS
Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Overview and History of Operating Systems
Overview and History of Operating Systems These are the notes for lecture 1. Please review the Syllabus notes before these. Overview / Historical Developments An Operating System... Sits between hardware
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
The Definitive Guide. Monitoring the Data Center, Virtual Environments, and the Cloud. Don Jones
The Definitive Guide tm To Monitoring the Data Center, Virtual Environments, and the Cloud Don Jones The Nimsoft Monitoring Solution SERVICE LEVEL MONITORING VISUALIZATION AND REPORTING PRIVATE CLOUDS»
Mark Bennett. Search and the Virtual Machine
Mark Bennett Search and the Virtual Machine Agenda Intro / Business Drivers What to do with Search + Virtual What Makes Search Fast (or Slow!) Virtual Platforms Test Results Trends / Wrap Up / Q & A Business
Chap 1. Software Quality Management
Chap 1. Software Quality Management Part 1.1 Quality Assurance and Standards Part 1.2 Software Review and Inspection Part 1.3 Software Measurement and Metrics 1 Part 1.1 Quality Assurance and Standards
