ParaCoder ® Parametric ASP & SQL Source Code Generator
ParaCoder® Parametric Code Generator announcement: November 22, 2002 - Press Release
Read about ParaCoder generated application specifications: ParaCoder Specs
Take a look at some of the applications that we have created with ParaCoder:
What is ParaCoder, and what makes it so special?
ParaCoder a rapid application development (RAD) tool that is an ASP Code Generator
and SQL Code Generator rolled into one. The ASP code generator built into ParaCoder
generates all of the ASP and SQL code for data list pages, and forms for adding and editing records.
It also generates the ASP and SQL code for the forms processing and record deletion.
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.
Programmer Productivity and Software Quality
Several years ago,
Software Productivity Research, Inc.
released a document
where they attempted to quantify programmer productivity. In the document, they describe how different
programming languages require differing amounts of code-lines to accomplish a single function. Additionally,
different languages have different programmer productivity levels.
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.
How ParaCoder has changed everything for us
ParaCoder has changed a lot for us. In the last year, one 3 man development team was able to write
more than half a million lines of extremely reliable ASP code for web based database applications.
During that time, none of the engineers worked full time on those ASP applications, since ParaCoder
was still being written and enhanced.
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.
|