Take a look at some of the applications that we have created with ParaCoder:
|Spectrum TimeClock:||Spectrum TimeClock|
|Online Video Rental Portal:||VidRent|
|Stock Footage Search Engine:||Blackstone Stock Footage|
The Add and Edit form pages use client side input validation to make sure that the data input is in the right format. Data is then also double checked on the server side when the forms are submitted.
ParaCoder allows us to create web based database applications for our clients in a fraction of the amount of time that it would take using conventional techniques. ParaCoder generated applications also generally require very little testing and debugging because they are computer generated. The idea is that if the rules used to generate a the program code are correct, it is possible to generate a nearly bug free product.
ParaCoder has proven so powerful to us that in the first 10 months of 2004, a single engineer was able to write a total of nearly 400,000 lines of code in projects for four different clients in one year. All of the resulting projects had fewer than 20 bugs combined reported and all are now free of known bugs. All of the projects were deployed on the internet in early and mid 2004 and now have more than 15,000 users using them! We estimate that the projects would have taken more than 17 man years to complete conventionally.
Because of the amount of time required to design, test, debug and perform other tasks, programming productivity for even simple HTML 3.0 can be as low as 20 lines of bug free code per day per programmer. While we here at Spectrum Research feel that this is a little low for simple HTML, we feel that similar rates for other programming languages are not far off from their estimates. Some of the engineers that we've worked with have productivity rates in C++ ranging from 100 to 500 lines of code per day - before software testing. We've seen similar productivity for ASP programming.
Now, consider that software development has changed a lot in the last 15 years. Back in the late 1980's a company could release a product that contained between 5,000 to 10,000 lines of code, and sell a lot of it. Spectrum Research did just that. By the time the early 1990's came around, we found that our software product density had risen to around 60,000 lines of code for a successfully marketed product. In the late 1990's we saw that required density grow to nearly 250,000 lines of code. Simply put, people expect a lot more out of software than they did years ago.
Now, take that 250,000 line application, and apply average program bug rates to it. Such a program would have between 2,500 to 7,500 bugs if Boris Beizer's estimates are correct (Beizer has written a number of books on software testing methodologies). Another study by DeMarco and Lister concluded that professional programmers average 1.2 bugs for every 200 lines of code, which also jives with what Microsoft experienced with its Windows 2000 operating system. That would yield an initial 1,500 bugs in that same 250,000 line application.
Even if you use much lower rates like 1 bug per 1,000 lines of code, the number of bugs and vulnerabilities in today's software is rediculous. The moment that you get a new personal computer, you have to apply dozens of software patches to it fix all of the problems!
During all of this time, programmer productivity has changed very little. What has changed is that some of the methods used to create some types of software are different. For example, early web sites had to be hand written. Now, very powerful tools exist to automate the required programming tasks. Similarly, web based training used to have to be written by hand. With the Trainersoft Desktop Author that we created for Trainersoft, training authors can use an easy to use interface to generate their training applications. Other similar products exist now too.
On the code side, programmers use C++ classes like Microsoft's MFC that ease many programming tasks. There are also many simple menu and form generators availble for web programming, and now Microsoft's dot-net technology makes a line of a web program more powerful. Still, application programming has changed very little. Programmers have to pound out lots of code. Unfortunately, as long as computer programs are written by humans, they will have bugs and will take a long time to write.
We estimate that without ParaCoder, it would have taken the same team many years to do the same thing. To give you an idea of how much code half a million lines is, Microsoft Windows 2000 is estimated to contain 30 million lines of source code. Windows NT 4 was reported to have 16 million lines of code.
As ParaCoder has matured, the team's productivity has increased substantially. Additionally, in many situations, it has allowed us to show a client a working prototype of their application on our second visit to their site. This has helped in our sales efforts, and has also helped our clients visualize their application, determine what they really want, and better understand our capabilities.
Call us today to find out how we might create an application for you. You will find that we can generally deliver a more powerful, more reliable application than other firms. We are also able to deliver these applications faster, and at a slightly smaller cost.
ParaCoder is a registered trademark of Spectrum Research, Inc.
Trainersoft is a registered trademark of Trainersoft, Inc. and Outstart, Inc.