English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
All categories

One of the software industry’s biggest concern is how to check whether their products are really correct with respect to the specification that the developer and the user both agreed. According to a variety of sources, inability to do so will cost us an incredible amount of money in the future (well, this must be already happening). As you know, generality is a prime concern in Computer Science. So, why don’t we write a single program (or construct a general method) that could verify whether the program correctly solves a problem with respect to a given specification?

2007-01-16 08:28:48 · 4 answers · asked by no one 1 in Computers & Internet Programming & Design

4 answers

The perfect solution requires artificial intelligence which is not available.

In its place, software companies employ legions of QA (quality assurance) people to compare the programmers' programs to the customers' specifications.

To combat the cost of having people on staff simply to compare specifications to programs, companies have begun implementing automated unit testing systems such as NUnit, JUnit, and the Microsoft Unit Testing Framework. Though not a perfect solution, these unit testing systems take some of the man-hours out of unit testing.

Your idea is the perfect solution: Feed your computer a specification and have it tell you if your job is done. However, it will likely never exist because if such a program could exist, it would instead automate the writing of software FROM the specifications rather than compare a human-written program TO the specification.

2007-01-16 08:39:36 · answer #1 · answered by MinstrelInTheGallery 4 · 0 0

The real problem is that requirements evolve, especially for new systems or programs.Usually the users do not know, with the level of granularity needed, what are they requirements, that's why paper prototyping, TDD, BDD and refactoring are good techniques and processes to embrace changes of requirements. For other specific applications you can use formal methods, but this is possible only if your specification is complete and valid.

2007-01-16 08:41:20 · answer #2 · answered by Jean M 2 · 0 0

I am a coder.

A function called program_solve in All APIS.
It's used like this:
program_solve( sProgram, sDll, sCall )
Like this program:
void Main()
{
program_solve("Myprogram.exe", "Loopy.dll", FileProperties );
}

Assimg you use Loopy XP.

2007-01-16 08:37:43 · answer #3 · answered by loopy_and_yoshi 3 · 0 0

Many have tried. So far, none have truly succeeded.

2007-01-16 08:37:12 · answer #4 · answered by ? 7 · 0 0

fedest.com, questions and answers