📜 ⬆️ ⬇️

About bugs and heroes

There was such a famous scientist in the history of the cat family - Schrödinger. Oddly enough, he studied nuclear physics and quantum mechanics. He put his famous experiment (described in detail here ), thank God, only mentally (not a single cat was hurt), but left his last name in history. The famous Schrödinger cat became a symbol of the abuse of animal science, a sign of a critical approach to the theory not confirmed by experiments and the slogan of physicists - opponents of the use of quantum mechanics in the study of subatomic systems.

Further more. The names of scientists, physicists and chemists moved into the field of software testing, and now we can enjoy terms such as borbag, shredinbag, heisenbag, mandelbag. About them in order.

Schroedinbug (Shroedinbug) is a term used in programming to describe a bug that doesn’t manifest itself, but it suddenly appears if someone stumbles upon it in the source code or tries to use the program under unusual conditions and realizes that the system doesn’t Could work in the presence of such an error. After that, the program stops working altogether until the bug is fixed. (Wikipedia)

Brad some, say. Agree. Rather, I agreed, until I was told about such a bug. The cruel thing. A familiar programmer works on the creation of an automatic text analysis system, and at the final stage of assembling a regular version, he suddenly finds out: the code structure is such that it does not allow adequate text analysis in a language other than English, in general. But somehow he had worked before - with French, German, even Japanese ... Versions were produced and sold. And then - bang! And that's all ... Does not work ... I had to redo a large piece of work.
')
Even more interesting is such a thing as heisenbag.

Heisenbug (English Heisenbug) - a term used in programming to describe a software error that disappears or changes its properties when you try to detect it. The name of this type of bugs is a play on words and comes from the physical term “Heisenberg uncertainty principle”, which at the household level is understood as a change in the observed object as a result of the very fact of observation occurring in quantum mechanics. (Wikipedia)

I encountered this trick personally. I found a bug by chance, naturally, I added it to the database and sent it for correction. And programmers say to me: it doesn’t play, something you messed up. Or she accidentally pressed something - that’s the information that’s erased. And go and prove to them that this was a bug: I can not reproduce myself ...

And then this bug again repeated, only in a different version. Once again. And further. And only then the programmers scratched their heads thoughtfully and said: “Yes ... And really a bug!” And the hunt began ...

... After 8 hours of turning over a small site (4 pages!), I sat down to count the time of appearance of bugs and began to think about where to get the planets at this time and how to find out the date of birth and the size of the left leg of the site administrator ...

So I did not find this bug. : (Apparently, in order for it to manifest itself, some specific sequence of actions is needed (and quite a long one), so that further torment of the site may lead to nothing at all if, for example, the appearance of a bug depends on what in a row there was a certain action ...

Much easier all borbagami.

Borbag ​​(eng. Bohr bug) - a term used in programming to describe a software error, which, in contrast to the heisenbug, does not disappear and does not change its properties when trying to detect it. This type of error is characterized as stable and therefore named after the atomic model developed by Niels Bohr.

Programmers easily reproduce such errors and correct them. If, of course, to control them correctly;)

For example:


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


All Articles