5 ms·
You can't guarantee trusted software even your code and the libraries are 100% trusted / bug less, as the combined software creates emergent properties which w
by kabouseng 12y ago
You can't guarantee trusted software even your code and the libraries are 100% trusted / bug less, as the combined software creates emergent properties which will also have to be properly tested. As such you can only trust a software system if it has been properly tested.
If this is the case, then you can provide 100% trusted software even if it has been built with insecure code bases / libraries, as long as all the external interfaces has been tested for all possible inputs.
Off course this is extremely difficult / impossible. This is why we will never arrive at a point where software is 100 trustworthy.
edit - spelling
- glibgil 12y agoYour comment provides no value. The OP has specific examples of tools being used to find bugs in software all without the need for testing. Testing is the least efficient way to fix those bugs. Tooling, as demonstrated in the OP, and other applications of programming language theory are far more efficient ways to have correct software. First, let the computer find the bugs we don't know about, then we can focus on higher goals.
- onion2k 12y agoTesting is the least efficient way to fix those bugs. Testing isn't a way of fixing bugs. It's a way of making sure you don't introduce bugs when things change. The important thing to remember that 'code the first implementation' - where you go from having no code to having some code - is a change just like any other. Writing code without bugs is a lot more efficient than writing code with bugs and then fixing them.
- richardwhiuk 12y agoIt's a pretty rubbish way of checking whether you've introduced bugs when things change as well. Testing is good for doing one thing: Validating that the code meets a specific quality target.