On Error-Class Distribution in Automotive Model-Based Software Harald Altinger, Yanja Dajsuren, Sebastian Siegl, Jurgen J. Vinju, and Franz Wotawa

Size: px
Start display at page:

Download "On Error-Class Distribution in Automotive Model-Based Software Harald Altinger, Yanja Dajsuren, Sebastian Siegl, Jurgen J. Vinju, and Franz Wotawa"

Transcription

1 On Error-Class Distribution in Automotive Model-Based Software Harald Altinger, Yanja Dajsuren, Sebastian Siegl, Jurgen J. Vinju, and Franz Wotawa

2 Topics Todays Talk 1 Automotive Basics 3 2 Setup 9 3 Automotive Data Set 13 4 Error Class Analysis 16 5 Results 23 6 Application 25 2 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

3 Automotive Basics 1 3 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

4 Audi Known for Source: AUDI AG 4 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

5 Modern day Car Premium Up to 90 ECU Up to 11 Networks Up to LOC Up to two SIM Cards Up to 40% of total development Budget Embedded Software Time critical Mission critical Connectivity Source: AUDI AG 5 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

6 Traditional Testing years ago Source: AUDI AG 7 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

7 Testing Stages During Software Development In The Loop Tests MiL Model in the Loop SiL Software in the Loop PiL Processor in the Loop HiL Hardware in the Loop Whole Car Lab Car Test Car Protoype Pre Production car Source: AUDI AG 8 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

8 Setup 2 9 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

9 Automotive Domain Development MISRA Guidelines [3] No pointer Integer, Float, Structs No dynamic String types Static memory Functionality Safety critical functionality None Safety critical Hard- & Firm Realtime V-Process based development Strict time shedules during development SOP 10 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

10 Software Lifecycle Development phase LOC Requirements Freez 100% Software SOP Feature Freez time 11 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

11 Automotive Domain MSR Dataset [4] 12 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

12 Dataset Automotive 3 13 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

13 Dataset on Automotive Projects Simple Indicator See [5] 14 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

14 Project # Requirements # Sub-Projects LOC # Testcases # Authors # src. Files # mdl files # commited files # error prone files AUTOSAR Safety function Dataset on Automotive Projects Key Figures software type A L K logic, timing dependent behaviour logic, timing dependent behaviour mainly logic operations, branching yes no yes yes yes yes Get the Audi Dataset: See [4] 15 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

15 Dataset on Automotive Projects Marking a Bug SZZ Algorithm See [4] 16 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

16 Error Class Analysis 4 17 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

17 Research Questions To be answered RQ1 Is the software metric affected by any of the bugs reported? RQ 2 Which type of error classes might be already prevented by existing techniques? RQ 3 Do complexity / length of boolean conditions and number of bugs correlate? Source: AUDI AG 18 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

18 Results Operators in use A K L % Operator % Operator % Operator Logic and comperator 76,38% = 46,17% = 43,88% = 6,60% && 15,14% && 19,78% == 3,59%! 12,39%! 10,33% && 2,90% 9,02% & 6,49%!= See Table II 19 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

19 Results Operators in use A K L % Operator % Operator % Operator Flow controll 35,31% if 55,49% if 47,46% if 24,91% else 34,42% else 24,73% else 17,55% break 3,40% break 12,27% break 14,12% case 2,62% case 9,04% case See Table II 20 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

20 Results Datatypes in use A K L % Operator % Operator % Operator Datatypes 95,38% static int 95,90% static int 99,06% static int 4,62% struct 1,91% int 0,94% struct 1,91% unsigned 0,29% struct See Table II 21 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

21 rank type Project LOC McCab N1 N2 n1 n2 Results Most common Bugs Discovered explanation 1 2 boolean logic error missing condition 3 casting error 4 mistmatch boolean, bitwise logic miscalculations with boolean K, conditions L missing variable within condition K, variable type cast error, including wronge variable declarations e.g. < instead of << L K, L n n n n n n n w y y w w n n n n n n A, K n n w w w w See Table III 22 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

22 Results Boolean length and error distribution #operands within error prone statements 1 34,92 % 2 06,35 % 3 15,87 % 4 17,46 % 5 01,59 % 6 03,17 % 7 03,17 % 8 07,94 % 9 04,76 % 10 01,59 % 11 03,17 % See Table I 25 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

23 Summary 5 26 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

24 Research Questions Review RQ1 Is the software metric affected by any of the bugs reported? RQ 2 Which type of error classes might be already prevented by existing techniques? RQ 3 Do complexity / length of boolean conditions and number of bugs correlate? See Table III See Table I Source: AUDI AG 27 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

25 Application 6 28 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

26 Audi self driving cars Piloted Racing Maximum Software, no space for SW error Source: AUDI AG 29 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

27 Audi self driving cars Piloted Driving near future Source: AUDI AG 30 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

28 Thank You! Any Questions? 31 On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

29 Literature In addition to Paper [1] H. H. Braess and U. Seiffert, Vieweg Handbuch Kraftfahrzeugtechnik. Springer Fachmedien Wiesbaden, [2] H. Altinger, F. Wotawa, and M. Schurius, Testing Methods Used in the Automotive I ndustry: Results from a Survey, in Proc.\ JAMAICA, San Jose, CA, 2014, pp [3] The Motor Industry Software Reliability Asso- and ciation, MISRA-C: Guidelines for the use of the C language in critical systems, 2nd ed. Warwickshire: MISRA, [4] H. Altinger, S. Siegl, Y. Dajsuren, and F. Wotawa, A Novel Industry Grade Dataset for Fault Prediction based on Model-Driven Developed Automotive Embedded Software, in Proceedings of the 12th Working Conference on Mining Software Repositories, Florence, Italy, [5] J. Peleska, F. Lapschies, H. Lding, P. Smuda, H. Schmid, E. Vorobev, and C. Zahlten., Turn indicator model overview, uni-bremen.de/agbs/testingbenchmarks/turn indicator/, April On Error-Class Distribution in Automotive Model-Based Software, Altinger, et.al. 16/03/2016

Entwicklung zuverlässiger Software-Systeme, Stuttgart 30.Juni 2011

Entwicklung zuverlässiger Software-Systeme, Stuttgart 30.Juni 2011 Entwicklung zuverlässiger Software-Systeme, Stuttgart 30.Juni 2011 Tools and Methods for Validation and Verification as requested by ISO26262 1 Introduction ISO26262 ISO 26262 is the adaptation of IEC

More information

Name :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70

Name :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 Name :. Roll No. :..... Invigilator s Signature :.. 2011 INTRODUCTION TO PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give

More information

ISO Compliant Automatic Requirements-Based Testing for TargetLink

ISO Compliant Automatic Requirements-Based Testing for TargetLink ISO 26262 Compliant Automatic Requirements-Based Testing for TargetLink Dr. Udo Brockmeyer CEO BTC Embedded Systems AG An der Schmiede 4, 26135 Oldenburg, Germany udo.brockmeyer@btc-es.de Adrian Valea

More information

Model-based testing in the automotive industry challenges and solutions

Model-based testing in the automotive industry challenges and solutions Model-based testing in the automotive industry challenges and solutions Jan Peleska (University of Bremen), Peer Smuda (Daimler AG) Artur Honisch, Hermann Schmid (Daimler AG) Daniel Tille, Hristina Fidanoska,

More information

SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE

SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE Software Quality Objectives Page 1/21 Version 2.0 SOFTWARE QUALITY OBJECTIVES FOR SOURCE CODE The MathWorks 2 rue de Paris 92196 Meudon France 01 41 14 87 00 http://www.mathworks.fr Revision table Index

More information

ISO compliant verification of functional requirements in the model-based software development process

ISO compliant verification of functional requirements in the model-based software development process requirements in the model-based software development process Hans J. Holberg SVP Marketing & Sales, BTC Embedded Systems AG An der Schmiede 4, 26135 Oldenburg, Germany hans.j.holberg@btc-es.de Dr. Udo

More information

Certified Automotive Software Tester Sample Exam Paper Syllabus Version 2.0

Certified Automotive Software Tester Sample Exam Paper Syllabus Version 2.0 Surname, Name: Gender: male female Company address: Telephone: Fax: E-mail-address: Invoice address: Training provider: Trainer: Certified Automotive Software Tester Sample Exam Paper Syllabus Version

More information

Your Instructor. CSE Content. Notes. Notes. Notes. Summer May 4, 2010

Your Instructor. CSE Content. Notes. Notes. Notes. Summer May 4, 2010 Tools - Tools - Summer 2010 Department of Computer Science and Engineering York University Toronto May 4, 2010 1 / 45 Tools - Your Instructor (Pshemo) Lectures: Tuesday 6.00-8.00pm in CSE1006 Lab: Tuesday

More information

MISRA C:2012 Technical Corrigendum 1

MISRA C:2012 Technical Corrigendum 1 MISRA C:2012 Technical Corrigendum 1 Technical clarification of MISRA C:2012 June 2017 First published June 2017 by HORIBA MIRA Limited Watling Street Nuneaton Warwickshire CV10 0TU UK www.misra.org.uk

More information

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9 Character Set The character set of C represents alphabet, digit or any symbol used to represent information. Types Uppercase Alphabets Lowercase Alphabets Character Set A, B, C, Y, Z a, b, c, y, z Digits

More information

Type Checking. Prof. James L. Frankel Harvard University

Type Checking. Prof. James L. Frankel Harvard University Type Checking Prof. James L. Frankel Harvard University Version of 7:10 PM 27-Feb-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. C Types C Types Type Category Type Category Type

More information

Unit 6 - Software Design and Development LESSON 4 DATA TYPES

Unit 6 - Software Design and Development LESSON 4 DATA TYPES Unit 6 - Software Design and Development LESSON 4 DATA TYPES Previously Paradigms Choice of languages Key features of programming languages sequence; selection eg case, if then else; iteration eg repeat

More information

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18

Software Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves

More information

Fault-Injection testing and code coverage measurement using Virtual Prototypes on the context of the ISO standard

Fault-Injection testing and code coverage measurement using Virtual Prototypes on the context of the ISO standard Fault-Injection testing and code coverage measurement using Virtual Prototypes on the context of the ISO 26262 standard NMI Automotive Electronics Systems 2013 Event Victor Reyes Technical Marketing System

More information

CprE 288 Introduction to Embedded Systems Exam 1 Review. 1

CprE 288 Introduction to Embedded Systems Exam 1 Review.  1 CprE 288 Introduction to Embedded Systems Exam 1 Review http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements Exam 1 Review http://class.ece.iastate.edu/cpre288 2 Announcements

More information

Volvo Car Group Jonn Lantz Agile by Models

Volvo Car Group Jonn Lantz Agile by Models Volvo Car Group Jonn Lantz Agile by Models Challenge Scaling agile model driven development of AUTOSAR embedded software. Lift the abstraction level of in-house development. Create reliable, automated

More information

Reuse of Hardware Independent Test Sequences across MiL-, SiL- and HiL-Test Scenarios

Reuse of Hardware Independent Test Sequences across MiL-, SiL- and HiL-Test Scenarios Reuse of Hardware Independent Test Sequences across MiL-, SiL- and HiL-Test Scenarios Testing Expo 2008 Stuttgart Berner & Mattner Systemtechnik GmbH Contents Test methods in the automotive industry Problems

More information

AVS: A Test Suite for Automatically Generated Code

AVS: A Test Suite for Automatically Generated Code AVS: A Test Suite for Automatically Generated Code Ekkehard Pofahl Ford Motor Company Torsten Sauer Continental Automotive Systems Oliver Busa TUV Rheinland Industrie Service GmbH Page 1 of 22 AVS: Automotive

More information

By V-cubed Solutions, Inc. Page1. All rights reserved by V-cubed Solutions, Inc.

By V-cubed Solutions, Inc.   Page1. All rights reserved by V-cubed Solutions, Inc. By V-cubed Solutions, Inc. Page1 Purpose of Document This document will demonstrate the efficacy of CODESCROLL CODE INSPECTOR, CONTROLLER TESTER, and QUALITYSCROLL COVER, which has been developed by V-cubed

More information

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan Lecture 08-1 Programming in C++ PART 1 By Assistant Professor Dr. Ali Kattan 1 The Conditional Operator The conditional operator is similar to the if..else statement but has a shorter format. This is useful

More information

Formal Verification and Automatic Testing for Model-based Development in compliance with ISO 26262

Formal Verification and Automatic Testing for Model-based Development in compliance with ISO 26262 Formal Verification and Automatic Testing for Model-based Development in compliance with ISO 26262 Is your software safe? Do you have evidence? 2 BTC Embedded Systems AG proprietary all rights reserved

More information

1.00/1.001 Tutorial 1

1.00/1.001 Tutorial 1 1.00/1.001 Tutorial 1 Introduction to 1.00 September 12 & 13, 2005 Outline Introductions Administrative Stuff Java Basics Eclipse practice PS1 practice Introductions Me Course TA You Name, nickname, major,

More information

From Design to Production

From Design to Production From Design to Production An integrated approach Paolo Fabbri Senior Engineer 2014 The MathWorks, Inc. 1 Do you know what it is? Requirements System Test Functional Spec Integration Test Detailed Design

More information

9/2/2016. Expressions are Used to Perform Calculations. ECE 120: Introduction to Computing. Five Arithmetic Operators on Numeric Types

9/2/2016. Expressions are Used to Perform Calculations. ECE 120: Introduction to Computing. Five Arithmetic Operators on Numeric Types University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Expressions are Used to Perform Calculations Let s talk in more detail starting

More information

1/31/2017. Expressions are Used to Perform Calculations. ECE 120: Introduction to Computing. Five Arithmetic Operators on Numeric Types

1/31/2017. Expressions are Used to Perform Calculations. ECE 120: Introduction to Computing. Five Arithmetic Operators on Numeric Types University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Expressions are Used to Perform Calculations Let s talk in more detail starting

More information

CTFL -Automotive Software Tester Sample Exam Paper Syllabus Version 2.0

CTFL -Automotive Software Tester Sample Exam Paper Syllabus Version 2.0 Surname, Forename: Gender: male female Company address: Telephone: Fax: E-mail-address: Invoice address: Training provider: Trainer: CTFL -Automotive Software Tester Sample Exam Paper Syllabus Version

More information

Virtual Hardware ECU How to Significantly Increase Your Testing Throughput!

Virtual Hardware ECU How to Significantly Increase Your Testing Throughput! Virtual Hardware ECU How to Significantly Increase Your Testing Throughput! Elektrobit Tech Day Jason Niatas Synopsys Inc. July 27, 2017 2017 Synopsys, Inc. 1 Agenda Automotive electronic evolution and

More information

Recap. ANSI C Reserved Words C++ Multimedia Programming Lecture 2. Erwin M. Bakker Joachim Rijsdam

Recap. ANSI C Reserved Words C++ Multimedia Programming Lecture 2. Erwin M. Bakker Joachim Rijsdam Multimedia Programming 2004 Lecture 2 Erwin M. Bakker Joachim Rijsdam Recap Learning C++ by example No groups: everybody should experience developing and programming in C++! Assignments will determine

More information

Automated Continuous Verification & Validation for Automobile Software

Automated Continuous Verification & Validation for Automobile Software Speakers Information- Controls, Measurement & Calibration Congress ABSTRACT Automated Continuous Verification & Validation for Automobile Software Vinodhini Vijayaraghavan, Jagadeeswara Vijayaraghavan

More information

CHRIST THE KING BOYS MATRIC HR. SEC. SCHOOL, KUMBAKONAM CHAPTER 9 C++

CHRIST THE KING BOYS MATRIC HR. SEC. SCHOOL, KUMBAKONAM CHAPTER 9 C++ CHAPTER 9 C++ 1. WRITE ABOUT THE BINARY OPERATORS USED IN C++? ARITHMETIC OPERATORS: Arithmetic operators perform simple arithmetic operations like addition, subtraction, multiplication, division etc.,

More information

Real-time Ethernet Residual Bus Simulation: A Model-Based Testing Approach for the Next-Generation In-Car Network

Real-time Ethernet Residual Bus Simulation: A Model-Based Testing Approach for the Next-Generation In-Car Network Real-time Ethernet Residual : A Model-Based Testing Approach for the Next-Generation In-Car Network Florian Bartols Till Steinbach Franz Korf Bettina Buth Thomas C. Schmidt florian.bartols@haw-hamburg.de

More information

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal Verification for safety critical requirements From Unit-Test to HIL Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen

More information

Empirical Study on Impact of Developer Collaboration on Source Code

Empirical Study on Impact of Developer Collaboration on Source Code Empirical Study on Impact of Developer Collaboration on Source Code Akshay Chopra University of Waterloo Waterloo, Ontario a22chopr@uwaterloo.ca Parul Verma University of Waterloo Waterloo, Ontario p7verma@uwaterloo.ca

More information

GAIO. Solution. Corporate Profile / Product Catalog. Contact Information

GAIO. Solution. Corporate Profile / Product Catalog. Contact Information GAIO Solution Corporate Profile / Product Catalog Contact Information GAIO TECHNOLOGY Headquarters Tennouzu First Tower 25F 2-2-4 Higashi-Shinagawa, Shinagawa-ku, Tokyo 140-0002 Japan Tel: +81-3-4455-4767

More information

BASIC ELEMENTS OF A COMPUTER PROGRAM

BASIC ELEMENTS OF A COMPUTER PROGRAM BASIC ELEMENTS OF A COMPUTER PROGRAM CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING LOGO Contents 1 Identifier 2 3 Rules for naming and declaring data variables Basic data types 4 Arithmetic operators

More information

Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng

Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng Slide Set 2 for ENCM 335 in Fall 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2018 ENCM 335 Fall 2018 Slide Set 2 slide

More information

C Syntax Out: 15 September, 1995

C Syntax Out: 15 September, 1995 Burt Rosenberg Math 220/317: Programming II/Data Structures 1 C Syntax Out: 15 September, 1995 Constants. Integer such as 1, 0, 14, 0x0A. Characters such as A, B, \0. Strings such as "Hello World!\n",

More information

CT 229. Java Syntax 26/09/2006 CT229

CT 229. Java Syntax 26/09/2006 CT229 CT 229 Java Syntax 26/09/2006 CT229 Lab Assignments Assignment Due Date: Oct 1 st Before submission make sure that the name of each.java file matches the name given in the assignment sheet!!!! Remember:

More information

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 2 : C# Language Basics Lecture Contents 2 The C# language First program Variables and constants Input/output Expressions and casting

More information

Best Practices Process & Technology. Sachin Dhiman, Senior Technical Consultant, LDRA

Best Practices Process & Technology. Sachin Dhiman, Senior Technical Consultant, LDRA Best Practices Process & Technology Sachin Dhiman, Senior Technical Consultant, LDRA Best Quality Software Product Requirements Design Coding Testing 2 Product Requirement Feature Requirement Security

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information

CS 376b Computer Vision

CS 376b Computer Vision CS 376b Computer Vision 09 / 25 / 2014 Instructor: Michael Eckmann Today s Topics Questions? / Comments? Enhancing images / masks Cross correlation Convolution C++ Cross-correlation Cross-correlation involves

More information

Page 1. Stuff. Last Time. Today. Safety-Critical Systems MISRA-C. Terminology. Interrupts Inline assembly Intrinsics

Page 1. Stuff. Last Time. Today. Safety-Critical Systems MISRA-C. Terminology. Interrupts Inline assembly Intrinsics Stuff Last Time Homework due next week Lab due two weeks from today Questions? Interrupts Inline assembly Intrinsics Today Safety-Critical Systems MISRA-C Subset of C language for critical systems System

More information

CSI33 Data Structures

CSI33 Data Structures Outline Department of Mathematics and Computer Science Bronx Community College October 24, 2018 Outline Outline 1 Chapter 8: A C++ Introduction For Python Programmers Expressions and Operator Precedence

More information

Don t Judge Software by Its (Code) Coverage

Don t Judge Software by Its (Code) Coverage Author manuscript, published in "SAFECOMP 2013 - Workshop CARS (2nd Workshop on Critical Automotive applications : Robustness & Safety) of the 32nd International Conference on Computer Safety, Reliability

More information

Objectives. Chapter 4: Control Structures I (Selection) Objectives (cont d.) Control Structures. Control Structures (cont d.) Relational Operators

Objectives. Chapter 4: Control Structures I (Selection) Objectives (cont d.) Control Structures. Control Structures (cont d.) Relational Operators Objectives Chapter 4: Control Structures I (Selection) In this chapter, you will: Learn about control structures Examine relational and logical operators Explore how to form and evaluate logical (Boolean)

More information

CSEN 202 Introduction to Computer Programming

CSEN 202 Introduction to Computer Programming CSEN 202 Introduction to Computer Programming Lecture 3: Decisions Prof. Dr. Slim Abdennadher and Dr Mohammed Abdel Megeed Salem, slim.abdennadher@guc.edu.eg German University Cairo, Department of Media

More information

SIListra. Coded Processing in Medical Devices. Dr. Martin Süßkraut (TU-Dresden / SIListra Systems)

SIListra. Coded Processing in Medical Devices. Dr. Martin Süßkraut (TU-Dresden / SIListra Systems) SIListra making systems safer Coded Processing in Medical Devices Dr. Martin Süßkraut (TU-Dresden / SIListra Systems) martin.suesskraut@se.inf.tu-dresden.de Embedded goes Medical 5./6. Oct. 2011 1 SIListra

More information

Agenda. CS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language 8/29/17. Recap: Binary Number Conversion

Agenda. CS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language 8/29/17. Recap: Binary Number Conversion CS 61C: Great Ideas in Computer Architecture Lecture 2: Numbers & C Language Krste Asanović & Randy Katz http://inst.eecs.berkeley.edu/~cs61c Numbers wrap-up This is not on the exam! Break C Primer Administrivia,

More information

Testing Distributed Systems

Testing Distributed Systems Testing Distributed Systems Part I: Introduction to Model-Based Testing 2012-08-01 Jan Peleska and Wen-ling Huang University of Bremen {jp,huang}@informatik.uni-bremen.de Acknowledgements. This seminar

More information

CS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language. Krste Asanović & Randy Katz

CS 61C: Great Ideas in Computer Architecture. Lecture 2: Numbers & C Language. Krste Asanović & Randy Katz CS 61C: Great Ideas in Computer Architecture Lecture 2: Numbers & C Language Krste Asanović & Randy Katz http://inst.eecs.berkeley.edu/~cs61c Numbers wrap-up This is not on the exam! Break C Primer Administrivia,

More information

Chapter 4: Making Decisions. Copyright 2012 Pearson Education, Inc. Sunday, September 7, 14

Chapter 4: Making Decisions. Copyright 2012 Pearson Education, Inc. Sunday, September 7, 14 Chapter 4: Making Decisions 4.1 Relational Operators Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than or equal to

More information

CS 61c: Great Ideas in Computer Architecture

CS 61c: Great Ideas in Computer Architecture Introduction to C, Pointers June 24, 2014 Review of Last Lecture Six Great Ideas in Computer Architecture Number Representation Bits can represent anything! n bits can represent up to 2 n things Unsigned,

More information

Important From Last Time

Important From Last Time Important From Last Time Volatile is tricky To write correct embedded C and C++, you have to understand what volatile does and does not do Ø What is the guarantee that it provides? Don t make the 8 mistakes

More information

Deterministic Ethernet & Unified Networking

Deterministic Ethernet & Unified Networking Deterministic Ethernet & Unified Networking Never bet against Ethernet Mirko Jakovljevic mirko.jakovljevic@tttech.com www.tttech.com Copyright TTTech Computertechnik AG. All rights reserved. About TTTech

More information

Chapter 4: Control Structures I (Selection) Objectives. Objectives (cont d.) Control Structures. Control Structures (cont d.

Chapter 4: Control Structures I (Selection) Objectives. Objectives (cont d.) Control Structures. Control Structures (cont d. Chapter 4: Control Structures I (Selection) In this chapter, you will: Objectives Learn about control structures Examine relational and logical operators Explore how to form and evaluate logical (Boolean)

More information

A Model-Based Reference Workflow for the Development of Safety-Related Software

A Model-Based Reference Workflow for the Development of Safety-Related Software A Model-Based Reference Workflow for the Development of Safety-Related Software 2010-01-2338 Published 10/19/2010 Michael Beine dspace GmbH Dirk Fleischer dspace Inc. Copyright 2010 SAE International ABSTRACT

More information

Announcements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop

Announcements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop Announcements Lab Friday, 1-2:30 and 3-4:30 in 26-152 Boot your laptop and start Forte, if you brought your laptop Create an empty file called Lecture4 and create an empty main() method in a class: 1.00

More information

COP 1220 Introduction to Programming in C++ Course Justification

COP 1220 Introduction to Programming in C++ Course Justification Course Justification This course is a required first programming C++ course in the following degrees: Associate of Arts in Computer Science, Associate in Science: Computer Programming and Analysis; Game

More information

INTRODUCTION TO COMPUTER SCIENCE - LAB

INTRODUCTION TO COMPUTER SCIENCE - LAB LAB # O2: OPERATORS AND CONDITIONAL STATEMENT Assignment operator (=) The assignment operator assigns a value to a variable. X=5; Expression y = 2 + x; Increment and decrement (++, --) suffix X++ X-- prefix

More information

Fundamentals of Programming

Fundamentals of Programming Fundamentals of Programming Lecture 3 - Constants, Variables, Data Types, And Operations Lecturer : Ebrahim Jahandar Borrowed from lecturer notes by Omid Jafarinezhad Outline C Program Data types Variables

More information

A Practical Approach to Programming With Assertions

A Practical Approach to Programming With Assertions A Practical Approach to Programming With Assertions Ken Bell Christian-Albrechts Universität Kiel Department of Computer Science and Applied Mathematics Real-Time Systems and Embedded Systems Group July

More information

Aryan College. Fundamental of C Programming. Unit I: Q1. What will be the value of the following expression? (2017) A + 9

Aryan College. Fundamental of C Programming. Unit I: Q1. What will be the value of the following expression? (2017) A + 9 Fundamental of C Programming Unit I: Q1. What will be the value of the following expression? (2017) A + 9 Q2. Write down the C statement to calculate percentage where three subjects English, hindi, maths

More information

1.3b Type Conversion

1.3b Type Conversion 1.3b Type Conversion Type Conversion When we write expressions involved data that involves two different data types, such as multiplying an integer and floating point number, we need to perform a type

More information

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd

Don t Be the Developer Whose Rocket Crashes on Lift off LDRA Ltd Don t Be the Developer Whose Rocket Crashes on Lift off 2015 LDRA Ltd Cost of Software Defects Consider the European Space Agency s Ariane 5 flight 501 on Tuesday, June 4 1996 Due to an error in the software

More information

Flow of Control. Flow of control The order in which statements are executed. Transfer of control

Flow of Control. Flow of control The order in which statements are executed. Transfer of control 1 Programming in C Flow of Control Flow of control The order in which statements are executed Transfer of control When the next statement executed is not the next one in sequence 2 Flow of Control Control

More information

V2 2/4/ Ch Programming in C. Flow of Control. Flow of Control. Flow of control The order in which statements are executed

V2 2/4/ Ch Programming in C. Flow of Control. Flow of Control. Flow of control The order in which statements are executed Programming in C 1 Flow of Control Flow of control The order in which statements are executed Transfer of control When the next statement executed is not the next one in sequence 2 Flow of Control Control

More information

Formal Specification and Systematic Model-Driven Testing of Embedded Automotive Systems

Formal Specification and Systematic Model-Driven Testing of Embedded Automotive Systems Formal Specification and Systematic Model-Driven Testing of Embedded Automotive Systems Sebastian Siegl, Kai-Steffen Hielscher, Reinhard German University Erlangen-Nuremberg Martensstr. 3 91058 Erlangen,

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

CT 229 Java Syntax Continued

CT 229 Java Syntax Continued CT 229 Java Syntax Continued 29/09/2006 CT229 Lab Assignments One Week Extension for Lab Assignment 1. Due Date: Oct 8 th Before submission make sure that the name of each.java file matches the name given

More information

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements Review: Exam 1 9/20/06 CS150 Introduction to Computer Science 1 1 Your First C++ Program 1 //*********************************************************** 2 // File name: hello.cpp 3 // Author: Shereen Khoja

More information

Testing for the Unexpected Using PXI

Testing for the Unexpected Using PXI Testing for the Unexpected Using PXI An Automated Method of Injecting Faults for Engine Management Development By Shaun Fuller Pickering Interfaces Ltd. What will happen if a fault occurs in an automotive

More information

CSC C69: OPERATING SYSTEMS

CSC C69: OPERATING SYSTEMS CSC C69: OPERATING SYSTEMS Tutorial 1 Thursday, Jan 17, 2013 TA: Ioan Stefanovici (ioan@cs.toronto.edu) HOW DO YOU SUCCEED IN THIS COURSE? Show up to lectures & tutorials (way too much material) Work on

More information

Tailoring Complexity Metrics for Simulink Models

Tailoring Complexity Metrics for Simulink Models Tailoring Complexity Metrics for Simulink Models Marta Olszewska 1 Yanja Dajsuren 2,4 Harald Altinger 3 Alexander Serebrenik 4 Marina Waldén 1 Mark G.J. van den Brand 4 1 Åbo Akademi University, Turku,

More information

UVM in System C based verification

UVM in System C based verification April, 2016 Test Experiences and Verification of implementing Solutions UVM in System C based verification Delivering Tailored Solutions for Hardware Verification and Software Testing EMPLOYEES TVS - Global

More information

Fundamentals of Programming CS-110. Lecture 2

Fundamentals of Programming CS-110. Lecture 2 Fundamentals of Programming CS-110 Lecture 2 Last Lab // Example program #include using namespace std; int main() { cout

More information

MICROPROCESSORS A (17.383) Fall Lecture Outline

MICROPROCESSORS A (17.383) Fall Lecture Outline MICROPROCESSORS A (17.383) Fall 2010 Lecture Outline Class # 03 September 21, 2010 Dohn Bowden 1 Today s Lecture Syllabus review Microcontroller Hardware and/or Interface Programming/Software Lab Homework

More information

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14 C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition

More information

x86-64 Programming III & The Stack

x86-64 Programming III & The Stack x86-64 Programming III & The Stack CSE 351 Winter 2018 Instructor: Mark Wyse Teaching Assistants: Kevin Bi Parker DeWilde Emily Furst Sarah House Waylon Huang Vinny Palaniappan http://xkcd.com/1652/ Administrative

More information

automatisiertensoftwaretests

automatisiertensoftwaretests FunktionaleSicherheitmit automatisiertensoftwaretests SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICAION RTCA DO-178B RTCA Dynamisch& Statisch 0 Agenda Übersicht über Sicherheitsstandards

More information

Data Types and Variables in C language

Data Types and Variables in C language Data Types and Variables in C language Disclaimer The slides are prepared from various sources. The purpose of the slides is for academic use only Operators in C C supports a rich set of operators. Operators

More information

Chapter 4: Making Decisions

Chapter 4: Making Decisions Chapter 4: Making Decisions 4.1 Relational Operators Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than or equal to

More information

QoS Management of Web Services

QoS Management of Web Services QoS Management of Web Services Zibin Zheng (Ben) Supervisor: Prof. Michael R. Lyu Department of Computer Science & Engineering The Chinese University of Hong Kong Dec. 10, 2010 Outline Introduction Web

More information

6.096 Introduction to C++ January (IAP) 2009

6.096 Introduction to C++ January (IAP) 2009 MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Welcome to 6.096 Lecture

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Control Flow. COMS W1007 Introduction to Computer Science. Christopher Conway 3 June 2003

Control Flow. COMS W1007 Introduction to Computer Science. Christopher Conway 3 June 2003 Control Flow COMS W1007 Introduction to Computer Science Christopher Conway 3 June 2003 Overflow from Last Time: Why Types? Assembly code is typeless. You can take any 32 bits in memory, say this is an

More information

Chapter 4: Making Decisions

Chapter 4: Making Decisions Chapter 4: Making Decisions CSE 142 - Computer Programming I 1 4.1 Relational Operators Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >=

More information

CS 580 FINAL EXAM. Fall April 29, 2014

CS 580 FINAL EXAM. Fall April 29, 2014 CS 580 FINAL EXAM Fall 201 April 29, 2014 You are to build a range tree for your final exam. A range tree is a tree where each node contains a minimum and a maximum value as well as a linked list to store

More information

Objectives. Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments

Objectives. Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments Basics Objectives Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments 2 Class Keyword class used to define new type specify

More information

Checking Multiple Conditions

Checking Multiple Conditions Checking Multiple Conditions Conditional code often relies on a value being between two other values Consider these conditions: Free shipping for orders over $25 10 items or less Children ages 3 to 11

More information

The sequence of steps to be performed in order to solve a problem by the computer is known as an algorithm.

The sequence of steps to be performed in order to solve a problem by the computer is known as an algorithm. CHAPTER 1&2 OBJECTIVES After completing this chapter, you will be able to: Understand the basics and Advantages of an algorithm. Analysis various algorithms. Understand a flowchart. Steps involved in designing

More information

ECE2049 E17 Lecture 2: Data Representations & C Programming Basics

ECE2049 E17 Lecture 2: Data Representations & C Programming Basics ECE2049 E17 Lecture 2: Data Representations & C Programming Basics Administrivia Lab 0 after class today! o Get your MSP430 board! Install instructions for CCS are on course website under Resources o You

More information

Programming refresher and intro to C programming

Programming refresher and intro to C programming Applied mechatronics Programming refresher and intro to C programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2018 Outline 1 C programming intro 2

More information

2/5/2018. Expressions are Used to Perform Calculations. ECE 220: Computer Systems & Programming. Our Class Focuses on Four Types of Operator in C

2/5/2018. Expressions are Used to Perform Calculations. ECE 220: Computer Systems & Programming. Our Class Focuses on Four Types of Operator in C University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming Expressions and Operators in C (Partially a Review) Expressions are Used

More information

C# and Java. C# and Java are both modern object-oriented languages

C# and Java. C# and Java are both modern object-oriented languages C# and Java C# and Java are both modern object-oriented languages C# came after Java and so it is more advanced in some ways C# has more functional characteristics (e.g., anonymous functions, closure,

More information

LAB A Translating Data to Binary

LAB A Translating Data to Binary LAB A Translating Data to Binary Create a directory for this lab and perform in it the following groups of tasks: LabA1.java 1. Write the Java app LabA1 that takes an int via a command-line argument args[0]

More information

1. a) What #include statement do you put at the top of a program that does uses cin, cout or endl?

1. a) What #include statement do you put at the top of a program that does uses cin, cout or endl? Exercises with solutions. 1. a) What #include statement do you put at the top of a program that does uses cin, cout or endl? #include b) What using statement do you always put at the top of

More information

C++ Programming: From Problem Analysis to Program Design, Fourth Edition. Chapter 4: Control Structures I (Selection)

C++ Programming: From Problem Analysis to Program Design, Fourth Edition. Chapter 4: Control Structures I (Selection) C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 4: Control Structures I (Selection) Objectives In this chapter, you will: Learn about control structures Examine relational

More information

Chapter 4: Control Structures I (Selection)

Chapter 4: Control Structures I (Selection) Chapter 4: Control Structures I (Selection) 1 Objectives Learn about control structures Examine relational and logical operators Explore how to form and evaluate logical (Boolean) expressions Discover

More information

Hardware-In-Loop Test Setup Automation

Hardware-In-Loop Test Setup Automation ECU Software Validation using Hardware-In-Loop Test Setup Automation Shrirang Agashe Eaton Technologies Pvt. Ltd. EON Free Zone, Cluster C, Wing 1, MIDC, Kharadi, Pune 411014 20-Oct-12 Need for Hardware

More information