How to get rid of the bugs in the software?
Whale you creating the software products on their quality is simply not given enough attention. In the business world, the basic condition is not the highest quality software as quickly as possible it is released to the market. It is a constant race that pushes quality issues into the background.
Guilty of errors in the software for a long time to search is not necessary. Guilty of first manufacturers to market the raw products that have not undergone full testing. The same sin and internal corporate development team. Imperfect legal framework also allows vendors to users with virtual impunity inflict damage, the root cause of which is a bug in the software itself. Finally, many criticized the system of higher education, in which the training of young IT professionals to a greater emphasis on programming rather than testing them.
Recently, however, is not entirely true, if you take a closer look at some special cases. For example, a researcher at the Massachusetts Institute of Technology Sharfraza Khurshid, develops procedures automated testing software can not be attributed to the number of guilty.
Software testing involves the generation of “input” – special instructions to be performed by the program. For each possible error should be established a test that can detect it.
Khurshid has already created a series of algorithms “generation of input streams,” and firmly believes that the quality of these algorithms in the next few years will increase markedly. However, experts argue that the mere improvement of technology of automatic test has no direct impact on improving software quality.
“When you create most of the software on their quality just did not pay enough attention, – explained the director of Institute for the Study of software quality at the University of Texas Herb Krasner. – In the business world, the basic condition is not high quality software, and as soon as possible of its release to the market. It is a constant race that pushes quality issues into the background.”
A study conducted last year by the National Institute of Standards and Technology under the Ministry of Commerce show that not enough rigorous software testing of software annually increases the costs of manufacturers and customers to the $ 60 billion Viruses that penetrate through the existing gaps lead to additional losses are also estimated in the billions of dollars.
Implementation of standards
In the world today there is no standard quality control software that would allow to estimate the parameters of its functionality, stability, usefulness, portability, efficiency and technical support. However, work in this direction focused on long-term, ongoing, and it is hoped that with time we will be able to compare the quality of software products based on industry standards. In the meantime, it is not possible.
New impetus to standardization bodies to some degree was given to the discovery of the famous “mistake of all time”, which in 1999 led to the crash of the spacecraft Mars Polar Lander, launched to carry out research on the Red Planet. For NASA, it became a turning point after which the guide space agency has become more widely to attract universities to meet the challenges of quality improvement. The agency NASA were also made as one of the founders at Carnegie Mellon University Consortium Sustainable Computing Consortium (SCC), which includes representatives of companies FedEx, Pfizer, Microsoft and Oracle.
Engineers know how to evaluate the quality of many complex products: airplanes, medicines, bridges, etc. But the standards for assessing the quality of the software and compare it with other software of similar purpose does not exist yet. It is unclear should be considered, for example, statements of intent to release Microsoft products, “trustworthy”, or the desire to Oracle to make its “ultra-reliable” standard package status.
“How do you compare what ‘credibility’, that proclaimed ‘ultra-reliable’?” – Asks the SCC Director William Guttman. The Consortium seeks to support the process of establishing standards and specifications that will evaluate the various system parameters, in particular, their functional reliability and security. If these figures applied to software products will be quantifiable, users will be able to make purchases based on the quality of the products offered.
This is the view Guttman, comparing the complexity of the task set by his group, with the development of rules and regulations of the municipal building virtually from scratch.
Wine legislators
In many ways, further improving the quality of the software also depends on legislative and regulatory framework.
Professor of Informatics Institute of Technology, Melbourne (Fla.), Sam Kaner, who considered the issues of legal protection for users of the software in his book, Bad Software (John Wiley & Sons, 1998), compares the current liability of creators of programs with the obligations of automakers to the adoption of the laws of the deception of consumers. (There are laws in nearly all states. For example, in California, one of the laws states that if a new car within the first year after the acquisition had to be repaired more than 30 days or if the same defect three times unsuccessfully tried to eliminate, the automaker must pick up the car and completely compensate the client. In addition, the selling has already repaired the car (of course, as a second-hand), the manufacturer must inform the buyer that he proposed was returned by the first owner of the car.. – Ed.)
Now the responsibility of the software manufacturer, usually limited to the cost of the product. Losses incurred by the user as a result of downtime and lost profits is not compensated.
Due to the enormous damage caused by viruses that enter the system through loopholes in the software reliability issues in recent times become more significant. As these attacks become more sophisticated, there is a danger of their impact on financial information to customers, using them to undermine the foundations of business and other destructive actions.
Creating software with a minimal number of mistakes – a real passion Dale Campbell. CIO Warner Music Group sees a great opportunity to reduce the actual costs of companies by improving the design process.
In the Warner Music Group are using different tools detect bugs in software that is developed internally by the company (in particular, the package Monrovia, offered by Parasoft). According to Campbell, the process of development is improved with increasing the quality of the acquired tools.
“The shortcomings of the software make it necessary to redo the work, and extra work leads to loss of money – explained Campbell. – I do not think that buyers will ever agree to buy ‘natural’ products with the same number of defects. “