cybre:uranther #012.018 is a user on cybre.space. You can follow them or interact with them if you have an account anywhere in the fediverse.
cybre:uranther #012.018 @uranther

Okay, I'm on this one.

Stop calling them "bugs." Language matters for understanding.

The original bug crawled up in a computer system and got trapped in a 𝗿𝗲𝗹𝗮𝘆, causing the program to error out. Not the programmer's fault, you would say.

Now, when a hobbyist hacker (security researcher) drops a exploit on macOS which has been lying dormant, untested, for 15 years ...

That is a programmer error, a systems design error. Y'all fucked up, not the moth.

cybre.space/media/68n4WJx8xcAa

· Web · 7 · 8

@uranther isn't the difference between an error and "true bug" kind of sketchy?

@uranther you can have errors that might function fine due to implementation details in a compiler, but if the compiler changes...

@a_breakin_glass I don't know what a "true bug" is in your description. If errors lingered because of a lower-level system error, that just means your testing was inadequate. Thorough specification and evaluation would have uncovered the undefined behavior, which would cause your development team to submit a patch upstream.

If you are actually meaning to guard against environmental effects such as cosmic rays, well then, you have to design resiliency and fail-over into your system.

@uranther I mean implementation details outside your direct control, or problems with the system aside from code, causing problems

This diagram is by far one of the most instructive I have seen on this topic of software errors.

𝚃𝙷𝙴 𝙴𝚁𝚁𝙾𝚁 𝙰𝚅𝙰𝙻𝙰𝙽𝙲𝙷𝙴

I wish it could gain some currency in the world, and not just DoD systems engineers.

cybre.space/media/Z4V0cwdI3eyY

@uranther I get the theory, but am having trouble making 100% sense of the diagram.

@jcdietrich @uranther It's basically a play on cumulative errors

So every step in the process is bound to have an error, but that error acts as a shelf for further errors in the steps to follow following to rest on. It may be more accurate to call them stairs. The bottom is gonna be much wider because each step protrudes errors of their own

@uranther my "favorite" thing is when programmers start calling errors in non-software things bugs. especially in completely non-computer/electronic things

@uranther I hope I can convince you otherwise:

"Bug" meaning "computer/engineering error" long predates the legendary moth. Notice the note on the page you included: "First ACTUAL case of bug being found." Edison used the term in 1878, nearly 70 years before Adm. Hopper's 1946 memo.

It has always meant any error that caused an issue with operation, whether it was a design error or a mechanical flaw. The OS X exploit you mention involved a bug that was /caused/ by programmer error.

@uranther While I agree with you that it's meaningful to indicate whether a bug was caused by programmer error or mechanical fault (i.e. was the flaw in the code, or in the compiler/environment?), it's not particularly useful to insist that "bug" be retrained away from the general-purpose "computing/engineering error" that it's always meant. We can talk about bugs /caused/ by programmer or environment error, and triage accordingly.

@uranther It's not a bug. It should be called a chair-keyboard interface's problem.

@uranther I think “software bug” is pretty universally accepted as “defective software” (i.e. programmer error) those days.

I mean, performativity is a thing, but I suspect you are tilting at windmills there.