I'm looking for a term or an idiom to point to the weakness of something, specifically a computer program. Something similar to "Achilles Heel" but not that! I just found blind spot : "an area in which one fails to exercise judgment or discrimination", however it seems it is not appropriate for the context.
-
4What is the context where you judged "blind spot" is not appropriate?– user140086Commented May 15, 2016 at 13:29
-
@Rathony, computer software.– EiliaCommented May 15, 2016 at 13:29
-
4Can you give an example of the context? Even in computer software/software design, i would think the term "blind spot" would be understood, as it's a very common phrase/idea– BruceWayneCommented May 15, 2016 at 16:17
-
2I was going to suggest "single point of failure" (aka SPOF), but then I realized that I wasn't sure what the OP means.– Damkerng T.Commented May 24, 2016 at 10:31
-
1@Eilia "the --- of the system is lack of support for NoSQL databases." If that's a usage example, why didn't you include it in the question itself? You have so far left us to make assumptions without context.– NVZ ♦Commented May 27, 2016 at 16:19
15 Answers
Since you're asking for a computing term, I suggest "vulnerability". From a security point of view, this is the main concern.
Vulnerability — Wikipedia
In computer security, a vulnerability is a weakness which allows an attacker to reduce a system's information assurance. Vulnerability is the intersection of three elements: a system susceptibility or flaw, attacker access to the flaw, and attacker capability to exploit the flaw.
To exploit a vulnerability, an attacker must have at least one applicable tool or technique that can connect to a system weakness. In this frame, vulnerability is also known as the attack surface.
Or software bug — Wikipedia
A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
Most bugs arise from mistakes and errors made by people in either a program's source code or its design, or in frameworks and operating systems used by such programs, and a few are caused by compilers producing incorrect code.
A program that contains a large number of bugs, and/or bugs that seriously interfere with its functionality, is said to be buggy or defective. Reports detailing bugs in a program are commonly known as bug reports, defect reports, fault reports, problem reports, trouble reports, change requests and so forth.
Or glitch — Wikipedia, if it's a short-term issue.
A glitch is a short-lived fault in a system. It is often used to describe a transient fault that corrects itself, and is therefore difficult to troubleshoot. The term is particularly common in the computing and electronics industries, and in circuit bending, as well as among players of video games, although it is applied to all types of systems including human organizations and nature.
Lacuna — OED
noun (plural lacunae /ləˈkjuːniː/ or lacunas)
1 An unfilled space; a gap:'the journal has filled a lacuna in Middle Eastern studies'
'Thus, divergent growth apparently prompted offsetting, in order for the coral to maintain the lacuna and occupy the space around it.'
'Fill the lacunae in your inspiration by tidily copying out what you have already written.'
It is hard to guess what do you mean by "weakness". If you mean performance, then the "weakest" part of your program is called [the] bottleneck:
A point of congestion or blockage, in particular.
In a computer program a point of weakness in a very broad sense could be described as a vulnerability as already mentioned in @NVZ's answer.
In the information security field such a weakness is typically referred to as an attack vector when it is abused as part of an exploit:
a weakness or oversight by which someone of suitable skill and means can gain access to a software or hardware system in order to deliver a payload or achieve a malicious outcome. Attack vectors enable hackers to exploit system vulnerabilities, including the human element through social engineering.
The sum of all such weaknesses exposed in a single system are collectively referred to as the attack surface:
is the sum of the different points (the "attack vectors") where an unauthorized user (the "attacker") can try to enter data to or extract data from an environment.
“Weak link in the chain”
might do if you consider a computer program a chain of instructions and you are pointing out a specific point of weakness.
…but I wonder whether your efforts would be better spent finding a precise form of words to the weakness in plain and/or technical English.
I propose to consider "The Goliath Syndrome" as a metaphor for the situation in which someone is stepping up capacity, unaware of their critical vulnerabilities.
This expression is used, for example, in marketing when discussing competition between corporations and startups.
These are textbook symptoms of The Goliath Syndrome — when big companies become blind to their own vulnerability because they view their size as an asset instead of what is truly is: a liability.
I will try one more time, and propose this time deficiency. This is not a fancy word, or idiom, but since the OP clarified in this comment, a sentence of interest is the following:
The deficiency of the system is lack of support for NoSQL databases.
From MW, deficiency means
a lack of something that is needed : the state of not having enough of something necessary.
From OED, deficiency means
a failing or shortcoming.
Here are examples of usage of the expression deficiency of a system from a simple Google search (3.4M hits):
This is from a medical journal, where it is used to describe some kind of trouble:
Despite the apparent benefits of tolerance, there may be an associated cost that results in a deficiency of a system to respond to additional disturbances.
This is from the website of a financial institute, which offers some paid services to help customers overcome several problems:
Take a moment to consider the following. Does any of this apply to your company: large fluctuations in daily account balance; or awkwardness or deficiency of a system for handling receivables; or manual entry and processing of payments.
This comes from what appears to be a blog entry, where it describes fundamental flaws:
Traffic lights in Venezuela. Every time I visit my home country, it amazes me how the purpose of traffic lights has been obliterated by the people. For me it is an interesting but sad fact how an object with a very specific and important function can be stripped of its purpose by the inability of people to follow a rule and of a government to enforce it. It just goes to show how the deficiency of a system reflects in the small details, such as traffic lights, and spreads out from there to the rest of the machine…
Finally, the last example was a result of a search for deficiency of the computer (1.6M hits) and is from what appears to be the website of a computer game, where it is used to describe the main weakness of the enemy (played by the computer):
This is a very interesting quest because you're up against nearly a full-fleged computer-controlled kingdom that functions just like your own. The computer-controlled kingdom has peasants, tax collectors, and may cast sovereign spells and place reward flags just like like what you can do. The main deficiency of the computer is that it cannot build new buildings, so once an enemy structure falls it's gone for good.
The idiom "chink in one's armor" refers to an area of vulnerability.
Also, soft spot
a weak point that can be attacked, a vulnerable point
There's also, underbelly
a vulnerable area
-
2Be careful with the "chink in the armor" one, as "chink" was and in some places still is used as a derogatory term for Chinese people. Not quite as automatically offensive as the N-word, but close. Commented May 15, 2016 at 15:24
-
2@DarrelHoffman - Yes but it’s clearly not being used in that sense and so would be unlikely to be taken as offensive. To me this is like saying “Hey Dad, are you going to the store? Can I come with you?” and then warning your son, “Be careful with the word come because it can be a vulgar word in some contexts.”– JimCommented May 23, 2016 at 3:55
We Software testers call them Buggy codes or Flawed portion of the code.
If you try to dive deeper into this topic you will come across a term called Defect Clustering.
Defect Clustering in Software Testing is based on the Pareto principle, also known as the 80-20 rule, where it is stated that approximately 80% of the problems are caused by 20% of the modules.
As per my understanding of your question, you want a name to denote these 20% of the code.
We call them Hotspots or Hotspot area.
"Soft spot" might be what you are looking for.
http://www.merriam-webster.com/dictionary/soft%20spot
: a weak point that can be attacked
Something unexpected that is a “blind spot” (or is in, or comes from one), could be described as something that’s:
off his [the/someone’s] radar [screen].
(above example from Radiance: A Novel by Carter Scholz, via ‘Google Books.’)
"to be off the radar” or “to be off the radar screen"
Definitions
- to no longer be noticed or important
(from Collins Dictionary)
And from MacMillan Dictionary:
used for saying that someone ... does not notice an issue or problem:
“The threat from terrorism had gone completely off the radar until that moment.”
-
The Radiance link does not contain the word "radar", or any quote from that novel.– agcCommented May 23, 2016 at 15:16
-
@agc It doesn’t contain the word “screen” [and that’s why I put it in brackets], but the word “radar” does appear on my computer’s screen in the sentence on page 126: “… from a blind spot off his radar.” I can’t explain why it’s not showing “radar” to you, unless you’re just getting a “Snippet View” that has cut “radar” off. To the extent that you’re saying that the passage from the book uses “off his radar” and not “off the/someone’s radar”, I have just edited in an attempt to address that issue. Thanks! Commented May 23, 2016 at 16:04
-
Could have been my browser's script blockers, (retested with
lynx
old school no-script text browser, still no radar). Maybe it's better to just quote the whole sentence in the answer itself, it's fair use.– agcCommented May 23, 2016 at 16:21
Given the programming context, perhaps edge case would be relevant?
It doesn't capture the entire sense of blind spot, but could be given some extra context, e.g. "untested edge case".
I'm looking for a term or an idiom to point to the weakness of something, specifically a computer program. Something similar to "Achilles Heel" but not that! I just found blind spot : "an area in which one fails to exercise judgment or discrimination", however it seems it is not appropriate for the context.
What I read...
Need a word to use in context with a computer program, similar to achilles heel. Blindspot is closest.
So what I reckon, what you are looking for is...
- An exception which was totally unexpected - even by the system creators?
- Something which MAY result in a vulnerability - however, vulnerability is a strong word.
- Something that acts like a catalyst, unexpected behavior.
Word you are looking for is an Anomaly (insert dramatic music).
I am a systems creator (quite a way to introduce myself).
If I leave out sanitizing an input, it may become a vulnerability or just a toy, something I wasn't aware of and something which totally slipped even through the testing and QA guys. So it is not an exception - as it does not confirm any strange behavior, it is not a vulnerability - as it does not endanger my software however, it was in the area which I could not see - a blindspot (the closest you got) but, what word can I use to inform about such to my clients? Glitch yea! glitch is good but a glitch implies that it WILL affect every bit of the system! So the right I would explain is: There was an anomaly in the system or System generated an anomaly, we weren't aware about. From math issue to system failure...
Sorry for bad English. I tried, hope you got what you want. :)
-
Is the misspelling of anomaly intentional? Or is it an accepted alternate spelling? The link redirects to anomaly without more explanation... Commented May 23, 2016 at 16:09
-
Actually Yes... and No... both... I wanted my answer to have a sense of humour-ish pun :( just how Google does Anagram to nag a ram :D anyway, on a sincere note, I have changed it... also, the link still displays the meaning - as u said - without more explanation. Commented May 24, 2016 at 9:35
My answer is inspired by thinking from an AI or chess engine perspective.
A chess engine or AI appears only as smart as its programming and is in that sense limited by its programming or design or perhaps even the hardware it is running on. It may then appear smart enough to play good chess overall, but still fail to recognize certain patterns, because that is not the way it actually operates. So that gives you limitation (design limitation, software limitation, hardware limitation, fundamental limitation of its programming).
Reading the comments under the question, I found OP's intended usage example:
"the --- of the system is lack of support for NoSQL databases."
In that case, I've something like this to suggest:
Drawback — ODO
- A feature that renders something less acceptable; a disadvantage or problem
"The main drawback of a global fitting strategy is the time needed to reach convergence."
So the sentence will become:
"the drawback of the system is lack of support for NoSQL databases."
synonyms: disadvantage, downside, weakness, imperfection