Can Software Bugs Be Beneficial Like Gene Mutations?

  • Thread starter Thread starter DaveC426913
  • Start date Start date
  • Tags Tags
    Gene Software
AI Thread Summary
A recent discussion highlighted a situation where a feature in software was functioning correctly by default, despite not being intentionally configured that way. The Product Owner discovered a Yes/No button defaulting to 'Yes', which was not assigned to any developer for implementation. This led to a conversation about the nature of software defects, with one participant suggesting that such beneficial bugs, while rare, can enhance functionality. The discussion also touched on the concept of "ethical bugs" and "useful mutations," with a focus on how modern frameworks often provide sensible defaults to streamline development. Additionally, it was noted that defects can sometimes serve as workarounds for more significant issues within software systems, a scenario common in complex interactions between subsystems. The conversation emphasized the nuanced interplay of software states rather than simple default behaviors.
DaveC426913
Gold Member
Messages
23,830
Reaction score
7,814
Couldn't figure out which category to put this in so I put it here.

Today, the Product Owner stumbled across a feature that was working correctly, but should not have been.

A Yes/No button was defaulting to 'Yes'. It was eventually supposed to be implemented that way, but no one was assigned to work on it and we could find no record of a developer having added the feature. Tech Lead confirmed that it was inadvertently operating correctly, despite not being configured to do so.I mused that, like the one-in-a-million genetic mutation that's beneficial, this was a one-in-a million bug that actually made the software more functional.
 
  • Like
Likes DennisN, jim mcnamara and YoungPhysicist
Physics news on Phys.org
DaveC426913 said:
I mused that, like the one-in-a-million genetic mutation that's beneficial, this was a one-in-a million bug that actually made the software more functional.
I think that useful bugs are much more common than useful mutations though.
 
Last edited:
YoungPhysicist said:
I think that ethical bugs are much more common than ethical mutations though.
What is an ethical bug?
What is an ethical mutation?
 
DaveC426913 said:
What is an ethical bug?
What is an ethical mutation?
Sorry, I mean useful. My poor English.:biggrin: I thought ethical means useful.
 
  • Like
Likes DaveC426913
In many modern libraries and frameworks, especially GUI frameworks and rapid application development frameworks, it has become a deliberate design force to offer sensible defaults, also called convention over configuration [1]. This means the framework will in many cases deliberately work as intended without the programmer having to explicitly configure for that behavior.

But if we extend the discussion to whether or not actual defects in software have a chance of being beneficial I would say yes, but perhaps not by itself. I have several times over the years encountered a defect in software systems that somehow hid or reduced the effect of another much worse defect. Fixing the fix defect then have the effect of making the system worse until the second defect is also fixed. The scenario is actually fairly common when two sub-systems have to interact over a vaguely defined interface where one component is constructed with a bad defect that can be triggered by normal interface usage so the other sub-component have to deliberately introduce a "good" defect in its interface usage in order not to trigger the bad defect in the other component. The "good" defect is sometimes known as a work-around. For instance, historically the Windows OS had a number of such work-arounds that Microsoft had to keep carry forward over many years in order to stay compatible with older software.

[1] https://en.wikipedia.org/wiki/Convention_over_configuration
 
Filip Larsen said:
In many modern libraries and frameworks, especially GUI frameworks and rapid application development frameworks, it has become a deliberate design force to offer sensible defaults, also called convention over configuration [1]. This means the framework will in many cases deliberately work as intended without the programmer having to explicitly configure for that behavior.
Yeah, I glossed over the cause and effect of the behavior. This wasn't simple control-based default behavior. The defaulting is based on interplay of various states defined elsewhere in the app.
 
Similar to the 2024 thread, here I start the 2025 thread. As always it is getting increasingly difficult to predict, so I will make a list based on other article predictions. You can also leave your prediction here. Here are the predictions of 2024 that did not make it: Peter Shor, David Deutsch and all the rest of the quantum computing community (various sources) Pablo Jarrillo Herrero, Allan McDonald and Rafi Bistritzer for magic angle in twisted graphene (various sources) Christoph...
Thread 'My experience as a hostage'
I believe it was the summer of 2001 that I made a trip to Peru for my work. I was a private contractor doing automation engineering and programming for various companies, including Frito Lay. Frito had purchased a snack food plant near Lima, Peru, and sent me down to oversee the upgrades to the systems and the startup. Peru was still suffering the ills of a recent civil war and I knew it was dicey, but the money was too good to pass up. It was a long trip to Lima; about 14 hours of airtime...
Back
Top