I've got doubt in formal prove as you may prove within a system, things are bug-free. However, what if, multiple systems do interact and something right on one system might result in fault at the other. However if I can prove program is bug-free formally, it will be great! But life would probably be very sucky looking back at discrete maths. Noooooo!!!
Wisdom
- design code components so they cant be used incorrectly
- make good use of compiler features like -wall and -wextra to find "invisible" errors
- Use of tools like valgrind to check for memory leaks
- Testing
- Core concept
- automated
- repeatable
- as comprehensive as possible
- seperate code and test
- new test for new feature or bug fixed
- Limitations
- only show the presence of bug
- buggy test
- test coverage is never complete
- oo testing required per object = no of change state x number of state
- looking deeper into bug to fix the processes
- Future
- better languages
- type systems (curry-howard isomorphism)
- theorem prover to show its bug-free. more code for testing then the original code!
Part 1, 2
No comments:
Post a Comment