In software engineering, in the last decade or so, there is rising acceptance of unit tests, a testing code that is written by programmers before the actual code of the program is written. This testing code calls the not-yet-written code of the program, and checks if it functions as predicted in specific cases. For example if we are to test adding code, the testing code will call the adding code with parameters 2 and 3, and check if this code returns 5. Then, it can for example test with negative parameters, first parameter negative second positive, etc…
Good things about those tests is that
- You can quickly find out if you have finished implementing code for satisfying all of the test cases that are thought as sufficient.
- You will be notified if, by doing some changes later in order to satisfy some new requirements, you break some previous functionality.
Now, I thought of this in connection to the wealth of arguments in philosophy, and wealth of thought experiments. In developing new theories, older theories are changed so some of the problems are fixed or avoided, but it is easy to forget some motivations for the old theory, some use-cases which were good in the old theory, but which are broken in the new one. It would be great, if theories and tests can be formalized enough to make it possible for a some kind of repository to be created, against which theories would need to be tested…
Every new theory would be given result, e.g. satisfies tests 1, 5, 6 and 7, but fails 2 and 4. And there are discussions if it satisfies 3.
I hope this doesn’t look too much as logical positivism.