[HN Gopher] How did software get so reliable without proof?
       ___________________________________________________________________
        
       How did software get so reliable without proof?
        
       Author : azhenley
       Score  : 21 points
       Date   : 2020-03-03 20:49 UTC (2 hours ago)
        
 (HTM) web link (surfingcomplexity.blog)
 (TXT) w3m dump (surfingcomplexity.blog)
        
       | temac wrote:
       | Except that we continue to slowly automate away human
       | intervention (must be done reasonably; it must still be
       | _possible_ , it is just less current in practice). Just look at
       | the state of the art in field X at date T, then 10 or 20 years
       | after.
       | 
       | We are getting better at some software, and why would we not? Not
       | all SW, but some, and even probably a lot of. Likewise for VLSI
       | (which in some aspects is quite similar to SW); there are some
       | quirks, but it basically works despite the modern designs being
       | of unprecedented complexity. With a reliability way higher that
       | tons of high ends mechanical devices. Same story for off the
       | shelf standard operating systems even for absolutely not critical
       | software: given the application are somehow tolerant to crashes
       | (the user just restart), it is remarkable that we get so few.
       | 
       | I'm a firm believer that there is no SW crisis. There are people
       | or companies refusing to apply best practices here and there, or
       | even not knowing they exist, but that is another story.
        
       | ssivark wrote:
       | > _How did software get so reliable without proof?_
       | 
       | Simple, software started shipping with longer backlogs :-P
       | 
       | -- More seriously, software today is endemically crappy, and
       | often poorly designed. I dunno why Hoare thought it was any
       | better. The only saving grace is that (modern) software largely
       | stays away from _serious_ stuff. Eg: The airline industry is
       | reluctant to upgrade software from decades ago, but happy to
       | incrementally upgrade other pieces of the system on shorter
       | cycles. Then of course, we have systems like the Boeing 737Max
       | MCAS.
        
       | diroussel wrote:
       | So I guess the answer is: because of the feedback loops that
       | exist around the software systems.
        
       | tschmidleithner wrote:
       | > The ultimate and very necessary defence of a real time system
       | against arbitrary hardware error or operator error is the
       | organisation of a rapid procedure for restarting the entire
       | system.
       | 
       | "Just putting out the plug and stick it back in" is one common
       | way nowadays of how to get out of an unforeseen state. It has
       | quite some history and goes at least back to the "let it crash"
       | philosophy of Erlang. Of course this still does not work for all
       | kind of domains, especially when one is closer to the metal. But
       | still, we may have found a sufficiency compromise between formal
       | verified software (and thus, higher costs) and some kind of
       | fault-tolerant software (increased productivity).
        
       | tboyd47 wrote:
       | Brilliant analysis.
        
       ___________________________________________________________________
       (page generated 2020-03-03 23:00 UTC)