Purchase Solution

Analyze legal and ethical issues in the field information technology.

Not what you're looking for?

Ask Custom Question

1. What is a race condition in software? Why are race conditions difficult to debug?
2. What are the advantages of allowing software users to identify and report bugs? What are the disadvantages?
3. Why do some people argue that shrinkwrap software should be exempt from the Magnuson-Moss Warranty Act and Article 2 of the Uniform Commercial Code?
4. Suppose the legislature in your state is debating the adoption of UCITA and you have been called as an expert witness. What are the three most important ideas you want your legislators to get from your testimony?
5. Why are computer simulations playing an increasingly important role in science and engineering?

Purchase this Solution

Solution Summary

In this solution we answer a series of questions regarding software development.

Solution Preview

Hi,

I have attached a Word document here containing your answers. I have tried to be more explanatory as some of the questions are quite fundamental and so the more you know the better.

1. Race condition is a very common occurrence in multi-threading applications or in applications that used shared resources such as memory. To provide an analogy, consider the case of special laboratory equipment that is used by 3 students in a lab. Now let us assume that a scheduling sheet is maintained in which students are supposed to mention their times of use for the equipment to avoid conflicts. Suppose on a given day, student 1 wants to use the equipment from 11 AM-2 PM and writes it down. Student 2 comes in next and writes down his time of use as 1:30 PM-4 PM. Student 3 is scheduled to use the equipment after 4 PM. This creates an overlap from 1:30 PM- 3 PM where both students 1 and 2 will be vying to use the equipment. It is likely that in their tussle leads to the equipment being damaged by overload. Consequently, when student 3 comes in he is unable to use it at all. Another good example that is commonly used to explain race conditions in a non-technical manner is the bank account example which goes as follows:
Company X has $1,000 in the bank. X pays a rent of $2,000 and received a payment of $10,000 for services rendered to company Y. However, due to a race condition, X is in deficit of $1,000 and is now applying for bankruptcy.
How does this happen? Let us look at a detailed account of these transactions: Bank staff A takes the current value of $1,000 and adds $10,000 to it. Bank staff B takes the current value of $1,000 and subtracts $2,000 from it. Bank staff A updates the value to $11,000. Bank staff B updates the value to -$1,000.
This is analogous to programming where shared-memory programs that use explicit time synchronization might have improperly synchronized entities such as classes that contain references to objects from other classes or try to update the same data structure at the ...

Purchase this Solution


Free BrainMass Quizzes
Basic UNIX commands

Use this quiz to check your knowledge of a few common UNIX commands. The quiz covers some of the most essential UNIX commands and their basic usage. If you can pass this quiz then you are clearly on your way to becoming an effective UNIX command line user.

C# variables and classes

This quiz contains questions about C# classes and variables.

Javscript Basics

Quiz on basics of javascript programming language.

Word 2010: Table of Contents

Ever wondered where a Table of Contents in a Word document comes from? Maybe you need a refresher on the topic? This quiz will remind you of the keywords and options used when working with a T.O.C. in Word 2010.

Word 2010: Tables

Have you never worked with Tables in Word 2010? Maybe it has been a while since you have used a Table in Word and you need to brush up on your skills. Several keywords and popular options are discussed as you go through this quiz.