It’s when a computer program does something the designer didnt intend. It might be due to bad design, typos, user error, or an unexpected circumstance.
Imagine you make a simple program to input a number and add it to a count. It works great when you test it, adding whole numbers like you intend. Then your user tries to add a non whole number like 1.5, and your program crashes because you only designed it to take whole numbers.
Inside a computer. There are these boxes (or called registers) that hold a value of 1 or 0 (binary system).
Whether a computer wants to compute it moves these numbers elsewhere or changes its value.
One way a glitch can happen is if a 1 has to turn into a 0 or vice versa, but does not complete the transition. So a 1 stays a 1 when it should become a 0. Leading to incorrect data
However what we think of a glitch is usually static on a screen as if someone is hacking you. It is kinda true that its a glitch, that the pixel colors aren’t correct causing random colors showing.
Generally computers have error corrections in place to fix these. When I studied a digital system machine we had to account for possibilities that there was a glitch and that the state machine could recover.
Something that hasn’t been mentioned yet is that the computer hardware itself could have a design flaw.
The humble computer chip is actually incredibly complex at a microscopic level. Modern processors have tens of billions of individual transistors, which are each placed by algorithms based on the high level descriptions engineers write.
Manufacturing faults happen all the time, but this is usually going to result in the chip dying or just not working, so it will be thrown out or returned early by a consumer.
Harder to trace issues are problems with the engineer’s design of this chip. I work in this field, and we spend literally years running millions of random simulations to try to catch all the possibilities these chips can face. But they’re so complicated that even this only scratches the surface of what can happen in the real world.
Let’s say a 4 year project ends up testing 1 billion test cases. Modern chips are so fast that it could exhaust every single one of those cases we ran in less than a second. So our testing needs to be intelligent and directed to try to catch all the weird cases.
But even then, issues still slip through the cracks. In the rare event that such a design issue goes undetected and unmitigated once it hits the market, it’s only a matter of time before it happens in the real world and starts causing issues.
These issues can range from data corruption to crashes to freezes to sudden shutdowns or even destruction of the chip (in the most extreme case).
What do design issues look like? A very common one is timing. Everything inside the chip is timed exactly, down to the nanosecond. We run simulations to verify expected timings, but that can still be wrong due to unaccounted-for conditions.
If this timing variation goes the wrong direction (faster than expected), it can cause parts of the chip to start doing things before it is actually ready. Kinda like putting ingredients into a dish at the wrong time. Say you accidentally put the onions in too late to your spaghetti, so they didn’t have time to sauté and now they’re raw and the spaghetti tastes different.
There can also be logical errors too. Unexpected scenarios in the inputs (what the software is asking to do) can cause anything to happen. This usually happens because the engineers received vague or incomplete specifications to make a design from.
A real life example of this could be a washing machine. You can get confused on the directions of which cleaners to put in which slots or during what part of the cycle. If you misread the directions and put bleach in the wrong box, then you may have just ruined all your clothes. Quality testing may not even discover this, because *of course* everybody knows what bleach does and that the triangle symbol means bleach!
Imagine you’re playing a video game on your computer, and suddenly the character you’re controlling starts behaving strangely or the game freezes for no reason. That’s a glitch. It’s like a hiccup in the system that messes up the smooth flow of things. Glitches can happen because of mistakes in the game’s code, problems with your computer’s hardware, or other technical issues. They’re kind of annoying, but usually, you can fix them by restarting the game or your computer.
Latest Answers