[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)