📜 ⬆️ ⬇️

Bugs from the USSR

History is an experience that allows the modern generation not to step on the rake again. But in programming, as in other actively developing areas, such an ideal scenario is not always possible. Why? Because new programming languages ​​are emerging, many processes are becoming more complex, and machines are smarter. In this article I will give two real stories. What unites them? First, the time - they all occurred in the USSR; secondly, people - each story could go on a different scenario, if the main characters did not show their best / worst human qualities; thirdly, of course, programming, otherwise the article would simply be irrelevant in our blog.

Picture 6

How to prove that you are a real programmer?


The domestic auto industry is often under attack. Being some time its active user, I can not disagree: the quality of our cars could be better. I will not understand the reasons for this state of affairs - not that competence, but you can recall the history of the Avtovaz bug.

Picture 7


She has been cited several times on different sites, so I will only do a brief retelling. In 1983, a talented mathematician Murat Urtembaev hit the distribution at AVTOVAZ. The young man was filled with enthusiasm, but the leadership was not inspired by the arrival of a new specialist, putting him in an ordinary position.
')
Then Urtembayev decided to prove - he is an excellent programmer and deserves respect (high position, rest in a sanatorium, a good salary, after all). Urtembaev’s plan was as follows: he wrote a patch to the counter program, which was responsible for the rhythm of the feed cycles of the nodes on the conveyor line. The patch would have caused a crash in the automation, the specified details would not have arrived at the right time, and chaos would have occurred on the production line. Murat himself would have volunteered to eliminate him, opening the eyes of his superiors to the special abilities of the undervalued officer.

But something went wrong. Insert a floppy disk with the virus was not difficult. The patch was supposed to work on the day when Urtembayev left his vacation, which removed suspicion from him. At the same time, he would be able to carry out the heroic rescue of AvtoVAZ. But apparently Murat was really not a very good programmer, because the automation began to fail 2 days before the X hour. Parts arrived on the conveyor in the wrong order and at the wrong time. Engineers frantically searched for a technical error, and they thought of the possibility of a bug in the code last. A bad code snippet was found, but the crashes continued.

Picture 10


Conscience or vanity made Murata Urtembaeva confess to her deed. The programmer was convicted of hooliganism, giving a suspended sentence and obliging him to refund the cost of two “Zhiguli” to the plant.

Intuition vs. Facts


This story has also received wide publicity, although not all of its facts are available to the general public. Why? Because we are talking about the possibility of a nuclear war! September 1983 - the situation in the world cannot be called favorable. Reagan, who holds the presidency of the United States at that time, openly calls the USSR the " Evil Empire. " Any defiant action of one of the parties could lead to the breaking of the stretched string of a fragile peace and the beginning of the war.

At 100 km from Moscow, Soviet officer Stanislav Petrov, a Soviet officer, entered the night operational duty of the command post at Serpukhov-15. The lieutenant colonel personally followed the situation on the monitor displaying the image from the satellites.

Picture 8


Observation was conducted over the United States. Suddenly a warning appeared on the display ... The US launched a rocket! The siren screamed, the automatic system check began, its result - everything is in order, there is no error! An alarming howl siren was pumping the situation, and, meanwhile, Petrov had to make an informed decision. There were two options for action:

  1. Act on instructions. Seeing that the rockets were flying toward the USSR, Petrov had to press a button. The officers on duty had a nuclear suitcase on hand, which should have been delivered to the head of the USSR, Yuri Andropov. The time to retaliate was less than 30 minutes. If the USSR launched rockets - on the night of September 26, 1983, the war began.
  2. Trust intuition. Stanislav Evgrafovich argued like this: “There is no rocket attack, the computer has rebelled - a fool machine. I am a programmer, I did them. And since I made them, it could not be smarter than me, its creator ”( source ). It was impossible to ignore the weighty fact that: "... rocket attacks from one base do not start, take off from all at once."

The data from Petrov’s computer were duplicated to higher-ranking persons, who were in some perplexity: Why is Stanislav Evgrafovich lame and not confirming the attack? He got a call. The lieutenant colonel reported: “The information is false.”

Intuition and experience did not disappoint Lieutenant Colonel Petrov. It was subsequently proved that the system malfunction occurred due to the influence of external factors that were not previously taken into account: the satellite sensors were illuminated by sunlight reflected from altitude clouds ( source ). And the computer could not recognize the false signal.

Evaluation of the action of Lieutenant Colonel Petrov was ambiguous. In the USSR, the bureaucracy was respected, and Stanislav Evgrafovich behaved against the instructions. Logically, he should be punished. On the other hand, everyone understood perfectly, if he clicked the alarm button, our side would launch missiles. Real missiles, not points on the map - the results of a program error. As a result, Petrov received a verbal reprimand from the authorities. Soon he left the Army. In the rank of lieutenant colonel.

Picture 9


The attitude of the Soviet officer was completely different in the United States. He, unequivocally, was recognized as a hero and won the UN Man's Prevention of Nuclear War Award. But Stanislav Evgrafovich Petrov still lives in Russia, in a modest apartment in Fryazino. He does not consider himself a hero, but recalls events of 1983 willingly.

If you are interested in the biography of Lt. Col. Petrov Stanislav Evgrafovich, then you can watch the documentary film The Man Who Saved the World .

Pofilosofstvuyu


All modern industrial and, especially, military installations have the necessary software installed. Almost all processes are automated, and, therefore, participation in the work of people becomes less necessary. But at the same time increasing requirements for quality software. For this, at the development stage, it is recommended to use additional code verification tools, including I cannot but name our static analyzer PVS-Studio :). During the work, you should also analyze the security of the program code, in particular, the search for undeclared features (software bookmarks) using specialized tools. This will protect production from a repetition of the situation with the Avtovaz hacker.

Picture 2

But, returning to the conclusion, I will note that no program has intuition, emotions and desires. So is it possible to call its decision impartial? Can you fully trust artificial intelligence? Then, following the prescribed algorithm, in 1983, the USSR would launch rockets. Dear readers, I suggest you to speculate on the topic: “Is it possible to entrust the program with an important decision or should a person bear responsibility?”

Source: https://habr.com/ru/post/322198/


All Articles