CS 2800 Spring 2018 Homework 1 For this homework, we want to explore the degree to which modern society is dependent upon, and vulnerable to, software. For this homework, you have to work alone. Make sure to also submit your signed course contract. Choose one software application class where you believe correctness, reliability and security is most critical. That is, not just a class where it is important, but the class where (you believe) it is the *most* important. A class of software can be based on applications (aerospace, political, governmental, commerce, medical, etc.) or on a field of CS (hardware, security, machine learning, human-computer interaction, quantum computing, etc.). Write a report addressing the following. 1) Justify your selection. Explain why this class of software is so important. Why is correctness, reliability and security of such importance for your class? What happens if bugs occur, if the software can be exploited by an attacker, if the application crashes or just silently produces a wrong answer? 2) Provide one incident involving this class of application when a failure led to negative consequences. Explain what happened and what you found most interesting about the incident. Some incidents, such as the Therac-25, are listed below. Do not use any of these incidents. 3) Describe a feasible, distasterous incident that might occur and is related to the class you selected. For example, if you think that university administration is critical (it isn't), you might write about potential exploits allowing a bad actor to delete your university records, change your grades, etc. 4) Provide at least 6 cited articles that informed your report. These articles can include the incident reports, descriptions of the software class you selected, etc. For more information about citations, see below. 5) Conclude by telling us what lessons you've learned from this exercise. A paragraph or two will suffice. ==================================================== Some incidents you might find inspiring: the Ariane 5 crash, the loss of the Mars Climate orbiter, the Intel FDIV bug, the NIST study on the cost of software bugs, the Patriot missile failure, the Therac-25 incident, or the Knight Capital hedge fund trading-software error. There are LOTS more examples and they don't necessarily need to involve death or millions of dollars lost. The class of software just needs to have already failed and a high cost associated with future failures. In case you want to give up to date examples, there are certainly incidents from the past year. Technicalities: =============== The length of the essay should be about two pages of single spaced ASCII text (that's a plain text file), but no more than three pages. Opening the document in WordPad or a similar text editor will tell you the number of pages. Search online to find interesting incidents. You may also discuss and argue these issues with your classmates and friends -- but only in person and only in spoken form. You may not read a classmate's written work, or exchange email, or use other written forms of interaction. You must write your answers alone. Submission instructions for the class are posted on the class website. Remember to submit a signed class contract file (see below). We discussed academic integrity in class, but here is a snapshot. Throughout your careers you will be required to read, analyze, and process information, and to present your results. It is absolutely crucial that you learn how to do this convincingly, and according to the highest standards of integrity. Any sources you use must be cited. You can use any reasonable method of providing citations; see for example http://en.wikipedia.org/wiki/Citation Make sure that you read and fully understand the Northeastern Academic Integrity policy, which you can find at http://www.northeastern.edu/osccr/academicintegrity/index.html Course Contract: ================ You need to print, sign and scan the class contract (on the assignments page) as part of your homework submission. If you don't have access to a scanner, a clear photo of the signed document or an electronic signature using a stylus will suffice. Since Blackboard accepts only one file per assignment, submit your course contract using "HWK1-Course-contract".