Be sure to look at the Canvas Module for this week for various hand-in
Debate the following questions within your group and create a concensus
answer for each one. Limit discussion on each question to 5 minutes. It's OK to
use Internet research to dig up supporting evidence or opinions if you like. If
you can't come to a concensus answer, it is OK to say "undecided" but
summarize the two or three opposing opinions that you weren't able to resolve.
Create one slide per question. We'll randomly select groups/slides for
discussion in class.
- Q0: (not actually self-driving cars) What was the one thing that Toyota did
in the UA cases that struck you as being the worst offense, if any. This can be
technical or non-technical. (If you think that Toyota did nothing wrong,
- Q1: What regulatory requirements should be imposed for testing/debugging
self-driving car technology on public roads? (E.g., what regulations should
apply to testing currently happening in Pittsburgh?)
- Q2: Should society trust self-driving car developers to do the right thing
for safety when it comes time to deploy production vehicles, or should they be
regulated to assure they follow accepted software development practices?
- Q3: Assume that current human-driven vehicles have a fatality rate of
approximately 1 human death per 100 million miles. What is an acceptable
average death rate for completely autonomous vehicles? Assume a "level
5" self-driving car in which a human driver is a passenger with no ability
to control the vehicle.
- Q4: Is it acceptable for self-driving cars to have shoddy software quality
and actually kill people due to the types of software practices seen in the
Toyota UA presentation so long as the total number of deaths is reduced
compared to manually driving vehicles?
- Q5: Is it ethical for companies to test unproven self-driving car
technology in jurisdictions, countries, or other places in which rules and
penalties are designed to incentivize testing by granting blanket forgiveness
for testing fatalities? (This is an intentionally extreme situation. In reality
incentives are more likely to be shades of gray.)
- Q6: If a self-driving car kills someone due to an obvious design defect,
who should go to jail, if anyone?
- Be sure to list citations for references you use as a source for answers.
If multiple references say the same thing, you need to only give 1 of them as a
- Include a brief summary of the question you are answering on the slide
title or major bullet. For example, for 3-1a say something like "Trend
Reason #1," 3-1b say "Trend Reason #2," 3-1c say "2016
lower" This will help everyone keep on track with classroom discussion.
The exact wording is flexible.
8-1: The number of software-related vehicle recalls increased
dramatically from 2012 to 2015 according to the data in the figure below.
Answer the following questions:
- 8-1a. (2 points) List a plausible reason for this trend (If you are using
an on-line source for an idea, list the source.)
- 8-1b. (2 points) List second, different plausible reason for this trend (If
you are using an on-line source for an idea, list the source.)
- 8-1c. (1 point) What is the most likely explanation for the 2016 data point
being lower? (Hint, look at the original source material.)
accessed on 9/23/2018)
8-2: Compare the US criminal fines for the Toyota UA case and the
Volkswagon emissions cheating case by answering the following questions:
- 8-2a. (1 point): List the number and source for the VW amount.
- 8-2b. (1 point): Why do you think the Volkswagon fine was larger?
8-3: The Audi 5000 (sometimes called the Audi 100) is a notorious
case in which driver error due to pedal misapplication is commonly blamed for
unintended acceleration. (Note that it is OK to use the Wikipedia page as a
source for questions specifically about it. Part of the assignment is comparing
what Wikipedia says to primary sources.) Answer the following questions:
- 8-3a: (1 points) What is the main reason given for Audi 100 (Audi 5000) UA
in the Wikipedia page? (https://en.wikipedia.org/wiki/Audi_100)
- 8-3b: (1 points) According to that same Audi 100 Wikipedia page, what was
the eventual recall fix for the problem?
- 8-3c: (2 points) What is the main reason given for Audi 5000 UA in the
Pollard & Sussman NHTSA report? (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.730.5953&rep=rep1&type=pdf
just read the Executive Summary -- the front part through page xi.)
- 8-3d: (2 points) The Pollard & Sussman report is often used as a source
for blaming drivers for pedal misapplication when there is no reproducible UA
behavior. List two flaws in reasoning in using this argument (Two different
reasons; 1 point each)
8-4: Short responses. (1 point each; have these available for
discussion in recitation)
- 8-4a. (Driver age?) UA litigation often emphasizes the age of an
older driver as a contributing factor. Who is more dangerous: a 70 year old
driver or an 18 year old driver? Define the metric you used for
"dangerous" and cite your source.
- 8-4b. (Should Govt Regulate?) The US government does NOT regulate
software safety in cars other than, in principle, via recalls after a
statistically compelling number of mishaps have occurred. Should the US
Government regulate software safety (e.g., by requiring compliance to the ISO
26262 safety standard?) Why or why not?
- 8-4c. (Driver released from Jail) Read
article about a man released from jail after claiming a crash was due to
unintended acceleration. Note the model year of the car. Do you think that
releasing the driver from jail was the right thing to do?
- 8-4d. (UA Class Action) Read
article about another unintended acceleration class action lawsuit. What do
you think about the car manufacturer's statement that the incident peak in 2005
is due to driver error?
- 8-4e. (Police Officer Trial) Read
article about a police officer involved in a fatal crash. Why do you think
the police officer changed his story from "sudden acceleration" to
- 8-4f: (What if it's you?) Hypothesize that you are driving a vehicle
and hit a pedestrian. You claim it was UA. The vehicle data recorder says your
foot was on the accelerator. The local government prosecutes you for the death
because the police report says the only possible reason is pedal misapplication
due to incompetent driving. What do you do?
- 8-4g: (Should this man be in jail?) Read
article about a father in jail for the death of his daughter. He claims it
was UA. Do you think the sentence passed was just?
- 8-4h: (Should SW designers be liable?) Should the software designers
of vehicle engine controls be held personally responsible for defects that
result in fatalities?
Supplemental materials. (This material is entirely optional, and put
here so you can dig deeper if you find this material particularly interesting.
It will not be on the test.)
(As with previous homework assignments, cite your sources.)
9-1. Find a software tool or tools to compute metrics for this
question and use it/them on the Project 2 student function starting code (i.e.,
the function you're given as a starting point before you've made any changes).
If your tools don't support all the metrics indicate which ones you computed by
hand. In many cases the only metric you'll have to compute by hand is the
Spaghetti Factor (SF) metric. If you have trouble finding a tool it is OK to
ask your friends for suggestions of what to look for, but you MUST
actually run the tool yourself. Report:
- 9-1a. (1 point) Which tool or tools did you use? (The free tools are out
there! If you can't find one get help from a TA. One search to try is: free
cyclomatic complexity tools)
- 9-1b. (1 point) What is the McCabe Cyclomatic Complexity?
- 9-1c. (1 point) What is the Strict Cyclomatic Complexity (SCC)?
- 9-1d. (1 point) How many global variables are accessed (count # of globals
used -- not the number of references to globals)?
- 9-1e. (1 point) How many C programming language statements are there
("lines of non-comment code")?
- 9-1f. (1 point) What's the Spaghetti Factor (SF)? (See lecture slide for
- 9-1g. (1 point) Do you think that in practice the code is subjectively more
or less difficult to understand than the SF rating? Why?
9-2. Give one or two-sentence answers to the following questions.
Make sure you have access to these answers in recitation in case you are called
upon to discuss them.
- 9-2a. (1 point) What is an argument for including switch statements in a
cyclomatic complexity metric?
- 9-2b. (1 point) What is an argument for NOT including switch statements in
a cyclomatic complexity metric?
- 9-2c. (1 point) Why is it common for the minimum number of test cases to
exercise all code statements to actually be less than the MCC?
Hint: SF (as well as MCC and SCC) are computed on a single module. In C/C++
this is a piece of code callable from another piece of code at the programmer
level. A module=subroutine=procedure=function=method. It is *not* an entire .c
file (unless you have only one function in that .c file). It is not a piece of
a function. It is an entire function that starts with a procedure interface
(e.g., foo(void)) and ends with the last closing "}" for that