Estimation

4/19/2007 12:00:25 PM

Estimation

SecretGeek recently has two articles on software estimation:

I didn’t make my April 15th, but I think I am close to a beta release. I went through the first week sick, possibly through chemical poisoning while cleaning, and just lost my flow.

I don’t think that are any real hard issues left. In the past couple months, I made some major changes to remove performance bottlenecks and eliminate limitations. I refactored my core analysis routines to enable unlimited function call depth and to better support symbolic IL interpretation. Every data structure had to support recursion. I also rewrote my theorem prover for logical expressions. It’s completely deterministic now and dramatically faster. I basically discovered an breathingly new algorithm, that is purely functional and fits in just over 1000 lines of code.

For over a year, each month that I have been developing this software product, the performance has improved tenfold, which isn’t hard in a category of software where exponential running times are common place. The performance improvements manifested itself in shorter scanning times and fuller, deeper analyses. This includes going from limited function call depth to almost no restrictions, from hours long analysis to times approaching compilation. I also went from a several dialog options for tuning analysis to none, because the software simply became smart enough that the options were no longer needed.

I still have a number of surprises in store that I haven’t shown yet. There’s still some aesthetics and UI issues to work out during the beta. I plan on getting my some local testers playing with the tool late next week and sending bug reports via Fogbugz, after which I hope to be sending a future weekly builds out to an expanding pool of testers.

Comments

 

Navigation

Categories

About

Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media