HW:3 Chapter 10
10.6. Explain why it is reasonable to assume that the use
of dependable processes will lead to the creation of dependable software.
Software development via dependable processes is a formalized
and systematic way of developing software that has five attributes; Auditable, Diverse,
Documentable, Robust, and Standardized. The goal is to reduce the possibilities
of introducing errors into the system as well as finding and removing any errors
that may have made it into said system. By using a systematic approach to development
engineers can learn from past mistakes or oversights as well as follow a model
designed specifically to create dependable software. There is a focus on
documentation, specification, change management, redundancy, and diversity that
all facilitate the creation of a more reliable system for software development.
Therefore, dependable processes typically lead to dependable software.
10.10. It has been suggested that the need for regulation
inhibits innovation and that regulators force the use of older methods of
systems development that have been used on other systems. Discuss whether or
not you think this is true and the desirability of regulators imposing their views
on what methods should be used.
By its nature regulation does inhibit innovation but that
doesn’t necessarily mean this limiting force is always bad. This is
particularly true in regards to systems that play key roles in day to day lives
that affect the safety and security of the public. As society continues to move
forward the number of software systems throughout the modern world continues to
grow and the public dependency on these systems functioning increases. If the
goal of regulation is to temper innovation with the needs and safety of the
public then I believe it falls in line with the principles outlined in ACM/IEEE-CS
Software Engineering Code in which section 1.03 states “The ultimate effect
of the work should be to the public good”.
Regulators using older methods of system development are
likely used as they have proven successful in the past and as the stakes of
failure continuously rise it is only natural to stay with what has worked
previously. By no means does this mean it is optimal or even correct to do so and
as these systems continue to grow regulators will need to adapt but it seems
industries need to show compelling reasons why different methods are not only
safer but necessary for continued development. Sadly, there have been several
high profile cases recently that suggest that industries have their own
interests in mind when developing these systems. The Volkswagen emissions scandal
is a prime example of a company using software to get around regulations. In
addition to the company being patently wrong to do something like that, the
engineers were in clear violation of the code of ethics sections 6.07 by misstating
characteristics of the software, 6.13 by not reporting VW to the authorities, and
section 4 that states “software engineers shall maintain integrity and
independence in their professional judgment”.
There is such a thing as overregulation but the need for
safe and secure systems are vital to the modern world and are a clear public
good and inhibiting innovation is a small price to pay for a safer world.
Comments
Post a Comment