Can Software Bugs Be Beneficial Like Gene Mutations?

  • Thread starter Thread starter DaveC426913
  • Start date Start date
  • Tags Tags
    Gene Software
Click For Summary

Discussion Overview

The discussion explores the concept of software bugs potentially being beneficial, drawing an analogy to genetic mutations. Participants examine whether certain software defects can enhance functionality or serve as workarounds for more significant issues, while also considering the implications of design choices in modern software frameworks.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant notes a specific instance where a bug inadvertently improved software functionality, comparing it to a beneficial genetic mutation.
  • Another participant suggests that useful bugs may be more prevalent than beneficial mutations, although this remains a subjective claim.
  • A question is raised about the definitions of "ethical bugs" and "ethical mutations," indicating a potential misunderstanding of terminology.
  • One participant discusses the concept of "convention over configuration" in modern software frameworks, suggesting that sensible defaults can lead to intended functionality without explicit configuration.
  • Another participant elaborates on the idea that defects can sometimes mask or mitigate the effects of more severe defects, describing scenarios where a "good" defect acts as a workaround for a "bad" defect in a system.
  • A clarification is made regarding the complexity of default behaviors in software, emphasizing that they may arise from interactions between various states rather than simple configurations.

Areas of Agreement / Disagreement

Participants express differing views on the prevalence and nature of beneficial bugs versus mutations, and there is no consensus on the definitions of ethical bugs or the implications of software design choices.

Contextual Notes

Some discussions may depend on specific definitions of terms like "ethical" and "useful," which remain unresolved. The interplay of software states and the complexity of defects are acknowledged but not fully explored.

DaveC426913
Gold Member
2025 Award
Messages
24,482
Reaction score
8,745
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   Reactions: DennisN, jim mcnamara and YoungPhysicist
Computer science 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   Reactions: 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 threads

Replies
4
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 17 ·
Replies
17
Views
3K
Replies
10
Views
5K
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • Sticky
  • · Replies 48 ·
2
Replies
48
Views
70K