Using Intelligent Design for Managing Software Development

A forum for learning, discussing, developing, and identifying top quality science materials -- physics, chemistry, mathematics, engineering, computer science, geology, biology, etc. Being versant in these areas will help make one versant in exploration of ID and Creation Science.

Using Intelligent Design for Managing Software Development

Postby johnnyb » Fri May 16, 2014 9:47 am

One of the things I would like to see developed using ID are sets of tools for managing software development. I think we are headed in that direction now, but I think more explicit thought might lead to even better breakthroughs. Since software is something designed for a purpose by a rational agent, ID is at least in theory applicable.

My own contribution to this is here - Basically, the idea is that we can use Intelligent Design theory to detect pieces of software which require design - in other words - they require creativity to develop. However, places that require creativity are both prone to error and cannot be properly evaluated automatically. Therefore, the management software identifies these locations which require creativity, and request the user to either provide a validation for them (so they can now be managed automatically), or to mark them for extended review.

I also think that Winston Ewert's idea of using functional tests to compress a design's description can be reworked in such a fashion as to assist in developing software testing harnesses. In other words, the goal of a test is to provide a verification that the software performs as expected. It is also another way of specifying the software, as one could simply provide a complete set of tests, and then say "find the first program that matches this test suite". This is extremely inefficient, but in theory it works.

The idea I have for integrating this into software management is to come up with a metric of partial specification. That is, how much does a test reduce the space for searching for software? If we had some understanding in that area, we could then provide guidance to test-writers, to teach them to write tests that have the greatest specification with the least amount of code. We could even potentially measure to what degree a software project is specified by its tests, and empirically determine the optimal tradeoff for test specification.

Anyway, I would appreciate anyone's feedback on these ideas, and other suggestions as well.
Posts: 1
Joined: Wed Mar 05, 2014 10:11 am

Re: Using Intelligent Design for Managing Software Developme

Postby stcordova » Tue May 20, 2014 7:36 am

In software quality assurance, the metric I found used in industry practice was quite simple, the number of conditional statements ( if statements, do, while, case statements). The more conditional statements in a module the more tests it required.

When code walkthroughs were done to review my software, there was someone from the testing department counting up the conditional statements. When modules began to exceed a certain complexity score we were strongly advised to re-write them because it made the modules untestable.

In Java, I try to make the methods nice an tiny without too many conditional statements. It also makes development and debugging and maintenance easier.

Nice to hear from you johnnyb.
Posts: 447
Joined: Wed Mar 05, 2014 1:41 am

Return to Science, Engineering, Mathematics