Serving the Quantitative Finance Community

 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 4th, 2017, 2:48 pm

It's hard to say if it's an error, defect, or fault although it seems more like an error.
Image

Assuming the removal of the "<" was to prevent XML tag mischief, this seems like a discrepancy in the set of admissible characters in the text input (vs. inadmissible control codes). Clearly the scanner was expected to handle alphanumeric characters but what about other non-alpha ASCII symbols (including the high-bit set) or the entire set of unicode characters? If the human writers of the scanned documents were told never to use "<" but write it out as "less than" instead, this would not be a problem.

Thus one could argue that a problem like this was operator error (or a failure to train users) although given the commonality of the "<" in technical text, it seems more like a failure to ensure a correct specification of the scanner or to validate that the scanner adhered to a spec that required correct handling of 100% of the set of characters found in the documents.

The other interesting possibility is that the scanner was an already-developed and "well-validated" module that no one would suspect of harboring a problem. An OCR library that had been developed, tested, and extensively used to scan old newspapers, magazines, fiction, and mainstream books might seem like error-free software because all the previous use cases involved non-technical text where "<" is never used. In that regard, the scanner was performing exactly as it was intended to perform but the system integrators were using the library in ways outside the intended purpose of the scanner (not unlike using Windows in a medical device).
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 4th, 2017, 3:12 pm

not unlike using Windows in a medical device).
Depends what you mean by 'in'. Windows is very standard here. You probably don't like to hear that. 

the scanner was performing exactly as it was intended to perform but the system integrators were using the library in ways outside the intended purpose of the scanner

Sounds like the Ariane-5 rocket disaster. It was a big time error leading to a big-time fault.
 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 4th, 2017, 3:38 pm

not unlike using Windows in a medical device).
Depends what you mean by 'in'. Windows is very standard here. You probably don't like to hear that. 
The ubiquity of Windows is no guarantee of its suitability in a given application. Software behaviors that are merely inconvenient to an office worker could be fatal to a patient.
the scanner was performing exactly as it was intended to perform but the system integrators were using the library in ways outside the intended purpose of the scanner

Sounds like the Ariane-5 rocket disaster. It was a big time error leading to a big-time fault.
Exactly! Ariane-5 was actually caused by risk aversion -- the engineers did not want to remove a older bit of software for fear of unintended consequences but when that software suffered an overflow and hard fault during launch, it took down the entire system.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 4th, 2017, 4:03 pm

I think developers' ability to introduce bugs into software is OS-independent.

And was the glitch known before shipping?

https://www.rte.ie/news/2017/0804/895225-xray-scans/
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 5th, 2017, 4:01 pm

On 26 July, the radiologist came across the data error in which the '<' symbol, that was used in delivering information about a diagnostic procedure, was not visible when the scan was archived in the system.
.. around 15,000 patients may need to be recalled.

Error, defect or fault?
 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 5th, 2017, 6:19 pm

I think developers' ability to introduce bugs into software is OS-independent.
Hmm... That seems very unlikely. I'd think that VMS or CPM would be less prone to this issue than would Windows or MacOS, for example. Three properties of the system environment wold seem to make some OSes more prone to these kinds of bugs than others:

1. Deeply layered architecture: Although, in theory, the layers and APIs insulate the application programmer from the internals by defining a contract, variations in different developers' interpretations of that API's contract can cause issues as do the undocumented side effects or interactions across the layers. Probably most of the "modern" OSes have this problem.

2. Frequent-updates: The recent trend toward frequent and automatic updates is sure the raise the issue of unexpected or previously never-seen bugs. Moreover, the need for such updates (primarily security flaws) is evidence of the poor quality of the OS. Here Windows is clearly the dubious leader although iOS and MacOS seem to be working hard at doing the same. How often did VMS get updates and how essential were they to install?

3. Very diverse hardware: The wider the range of underlying hardware, the more devil-in-the-development details. APIs cannot hide all the side effects of hardware variations (e.g., a new graphics card that breaks the mouse & keyboard). Windows, Linux, and Android can be installed of a very wide range of platforms that are largely out of the control of the OS developer (and the application developer). Mainframe OSes, MacOS, and iOS only run on a very limited range of hardware that is under the control of the OS developer.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 6th, 2017, 3:16 pm

I think developers' ability to introduce bugs into software is OS-independent.
Hmm...  That seems very unlikely.  I'd think that VMS or CPM would be less prone to this issue than would Windows or MacOS, for example.  Three properties of the system environment wold seem to make some OSes more prone to these kinds of bugs than others:

1. Deeply layered architecture:  Although, in theory, the layers and APIs insulate the application programmer from the internals by defining a contract, variations in different developers' interpretations of that API's contract can cause issues as do the undocumented side effects or interactions across the layers. Probably most of the "modern" OSes have this problem.

2. Frequent-updates:  The recent trend toward frequent and automatic updates is sure the raise the issue of unexpected or previously never-seen bugs.  Moreover, the need for such updates (primarily security flaws) is evidence of the poor quality of the OS.  Here Windows is clearly the dubious leader although iOS and MacOS seem to be working hard at doing the same.  How often did VMS get updates and how essential were they to install?

3. Very diverse hardware:   The wider the range of underlying hardware, the more devil-in-the-development details.  APIs cannot hide all the side effects of hardware variations (e.g., a new graphics card that breaks the mouse & keyboard).  Windows, Linux, and Android can be installed of a very wide range of platforms that are largely out of the control of the OS developer (and the application developer).  Mainframe OSes, MacOS, and iOS only run on a very limited range of hardware that is under the control of the OS developer.
I was referring more to human fallability.
 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 6th, 2017, 3:45 pm

I think developers' ability to introduce bugs into software is OS-independent.
Hmm...  That seems very unlikely.  I'd think that VMS or CPM would be less prone to this issue than would Windows or MacOS, for example.  Three properties of the system environment wold seem to make some OSes more prone to these kinds of bugs than others:

1. Deeply layered architecture:  Although, in theory, the layers and APIs insulate the application programmer from the internals by defining a contract, variations in different developers' interpretations of that API's contract can cause issues as do the undocumented side effects or interactions across the layers. Probably most of the "modern" OSes have this problem.

2. Frequent-updates:  The recent trend toward frequent and automatic updates is sure the raise the issue of unexpected or previously never-seen bugs.  Moreover, the need for such updates (primarily security flaws) is evidence of the poor quality of the OS.  Here Windows is clearly the dubious leader although iOS and MacOS seem to be working hard at doing the same.  How often did VMS get updates and how essential were they to install?

3. Very diverse hardware:   The wider the range of underlying hardware, the more devil-in-the-development details.  APIs cannot hide all the side effects of hardware variations (e.g., a new graphics card that breaks the mouse & keyboard).  Windows, Linux, and Android can be installed of a very wide range of platforms that are largely out of the control of the OS developer (and the application developer).  Mainframe OSes, MacOS, and iOS only run on a very limited range of hardware that is under the control of the OS developer.
I was referring more to human fallability.
Indeed! Yet different humans have different levels (and kinds) of fallibility. And different OSes (and computer languages) are surely more or less sensitive to various types of human fallibility. And different OSes hire (and manage) people for varying levels of development discipline. The net result is that a consumer-grade OS is not going to be as carefully developed or as robust as an OS specifically designed from extremely-reliable operation of safety-critical systems.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 3:18 pm

Hmm...  That seems very unlikely.  I'd think that VMS or CPM would be less prone to this issue than would Windows or MacOS, for example.  Three properties of the system environment wold seem to make some OSes more prone to these kinds of bugs than others:

1. Deeply layered architecture:  Although, in theory, the layers and APIs insulate the application programmer from the internals by defining a contract, variations in different developers' interpretations of that API's contract can cause issues as do the undocumented side effects or interactions across the layers. Probably most of the "modern" OSes have this problem.

2. Frequent-updates:  The recent trend toward frequent and automatic updates is sure the raise the issue of unexpected or previously never-seen bugs.  Moreover, the need for such updates (primarily security flaws) is evidence of the poor quality of the OS.  Here Windows is clearly the dubious leader although iOS and MacOS seem to be working hard at doing the same.  How often did VMS get updates and how essential were they to install?

3. Very diverse hardware:   The wider the range of underlying hardware, the more devil-in-the-development details.  APIs cannot hide all the side effects of hardware variations (e.g., a new graphics card that breaks the mouse & keyboard).  Windows, Linux, and Android can be installed of a very wide range of platforms that are largely out of the control of the OS developer (and the application developer).  Mainframe OSes, MacOS, and iOS only run on a very limited range of hardware that is under the control of the OS developer.
I was referring more to human fallability.
Indeed!  Yet different humans have different levels (and kinds) of fallibility.  And different OSes (and computer languages) are surely more or less sensitive to various types of human fallibility.  And different OSes hire (and manage) people for varying levels of development discipline.  The net result is that a consumer-grade OS is not going to be as carefully developed or as robust as an OS specifically designed from extremely-reliable operation of safety-critical systems.
Sounds like optimism bias or something along those lines.
https://en.wikipedia.org/wiki/Optimism_bias
 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 3:36 pm

I was referring more to human fallability.
Indeed!  Yet different humans have different levels (and kinds) of fallibility.  And different OSes (and computer languages) are surely more or less sensitive to various types of human fallibility.  And different OSes hire (and manage) people for varying levels of development discipline.  The net result is that a consumer-grade OS is not going to be as carefully developed or as robust as an OS specifically designed from extremely-reliable operation of safety-critical systems.
Sounds like optimism bias or something along those lines.
https://en.wikipedia.org/wiki/Optimism_bias
Given all the arguments for why one OS might have more or less bugs or might enable applications to have more or less bugs or might enable developers to write code with more of less bugs, I'd say the probability that the rate of bugs is strictly invariant across all OSes is the least likely hypothesis.

But to settle the question of which way the scales tip, we need empirical data on software quality.
 
User avatar
outrun
Posts: 4573
Joined: January 1st, 1970, 12:00 am

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 3:51 pm

Indeed!  Yet different humans have different levels (and kinds) of fallibility.  And different OSes (and computer languages) are surely more or less sensitive to various types of human fallibility.  And different OSes hire (and manage) people for varying levels of development discipline.  The net result is that a consumer-grade OS is not going to be as carefully developed or as robust as an OS specifically designed from extremely-reliable operation of safety-critical systems.
Sounds like optimism bias or something along those lines.
https://en.wikipedia.org/wiki/Optimism_bias
Given all the arguments for why one OS might have more or less bugs or might enable applications to have more or less bugs or might enable developers to write code with more of less bugs, I'd say the probability that the rate of bugs is strictly invariant across all OSes is the least likely hypothesis.

But to settle the question of which way the scales tip, we need empirical data on software quality.
Nice rational debunking,+1
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 6:44 pm

Sounds like optimism bias or something along those lines.
https://en.wikipedia.org/wiki/Optimism_bias
Given all the arguments for why one OS might have more or less bugs or might enable applications to have more or less bugs or might enable developers to write code with more of less bugs, I'd say the probability that the rate of bugs is strictly invariant across all OSes is the least likely hypothesis.

But to settle the question of which way the scales tip, we need empirical data on software quality.
Nice rational debunking,+1
But you would say that, wouldn't you?

You forgot to ask T4A for some data to back up his argument, optimism bias?

And the top 10 bugs. Feedback?

https://www.sundoginteractive.com/blog/ ... f-all-time
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 6:54 pm

You read Dutch so here is an OS-independent cock-up. How does it leave you, or you just couldn't care?
//
Amsterdam - Bij uitkeringsfabriek SVB was sprake van belangenverstrengeling tijdens de ontwikkeling van het mislukte computersysteem voor de jaarlijkse uitkering van 40 miljard euro aan kinderbijslag en AOW.

Dit toont televisieprogramma Zembla vanavond aan, na eerdere berichtgeving van De Telegraaf over de ict-fiasco’s bij SVB en UWV.
Meest Bekeken Video's

Zo blijkt onder meer dat een leidinggevende manager bij SVB op de loonlijst stond van Capgemini, leverancier van het computersysteem. Er heerste intern een angstcultuur en alleen mensen die op hetzelfde spoor zaten als de leverancier van Capgemini bleven over, zegt een oud-medewerker.
Deskundigen zijn onthutst over deze constructie en noemen het onbestaanbaar.

Vorig jaar trok de SVB de stekker uit het Multi Regelingen Systeem (MRS) na een investering van ruim 43 miljoen euro. Het systeem heeft geen moment gefunctioneerd.

De genoemde leidinggevende SVB-manager laat De Telegraaf in reactie op de publiciteit over de affaire weten dat de onderzoekers van Zembla vooringenomen waren over zijn rol bij het ict-drama. “Zembla heeft willens en wetens de feiten genegeerd die mij vrijpleiten van belangenverstrengeling. Ik heb de redactie zelfs documenten verstrekt die een totaal ander beeld schetsen. Zembla laat zich kennelijk liever leiden door aantijgingen van ex-werknemers dan door de misschien wat saaiere realiteit. Hierdoor worden mensen en de SVB onnodig beschadigd”, zo meldt G. via zijn woordvoerder. 
 
User avatar
Traden4Alpha
Posts: 3300
Joined: September 20th, 2002, 8:30 pm

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 7:09 pm

Given all the arguments for why one OS might have more or less bugs or might enable applications to have more or less bugs or might enable developers to write code with more of less bugs, I'd say the probability that the rate of bugs is strictly invariant across all OSes is the least likely hypothesis.

But to settle the question of which way the scales tip, we need empirical data on software quality.
Nice rational debunking,+1
But you would say that, wouldn't you?

You forgot to ask T4A for some data to back up his argument, optimism bias?

And the top 10 bugs. Feedback?

https://www.sundoginteractive.com/blog/ ... f-all-time
I'm not sure why you call it "optimism" when I suggested that older, simpler OSes were easier (more likely) to have lower developer bug rates compared to much more complex OSes of today?
 
User avatar
outrun
Posts: 4573
Joined: January 1st, 1970, 12:00 am

Re: Grammar-Pattern Programmers: Is Over-Abstraction Delivering Projects Faster Or Slower?

August 8th, 2017, 8:59 pm

You had that coming!

I really like "the probability that the rate of bugs is strictly invariant across all OSes is the least likely hypothesis".

Simple argument. Probability is zero.