|
SYS-CON Magazines
|
Top Three Links You Must Click On
Mono Third Mono Beta Released
Mono added to projects scanned by Coverity
By: Dennis Hayes
Sep. 27, 2006 03:30 PM
Mono 1.1.16, the third beta of version 1.2, has been released. The time span between the release of versions 1.1.15 and 1.1.16 is one of the longest in several years and the number of changes included reflects that, again System.Windows.Forms (SWF) and System.Drawing got the most attention.
Support for DataGrid and MDIs has been greatly improved and the tree control has gotten a number of performance enhancements. System.Drawing, GraphisPath, LinearGradiant, BeginContain, and GraphicsRegion all made big advances. ASP.NET 2.0 has advanced enough to run the ASP.NET Personal Web Starter Kit, which required a lot of bug fixes in theme and skin support code. Mainsoft has also added a sophisticated ASP.NET 2.0 test suite to the Mono project, with a Web testing framework that includes hosting for testing of all System.Web functions, a package that converts HTML into XML and then compares the XML. Mainsoft also contributed new test fixtures for testing 23 of the System.Web.UI.WebControls classes. The debugger got many bug fixes and can now debug xsp and WinForms applications. XBuild can now build VisualStudio projects that don't use resources or contain assemblies that aren't in the GAC, and it now supports simple conditions in the build project. Monodis and ilasm now support the 2.0 declarative attributes, custom modifiers and attributes, and it handles dependencies better. System.Drawing and SWF have been updated to use the latest version of Cairo, the graphics library they're based on. For testing, the NUnit Mocks framework has been integrated into the standard Mono distribution. Coverity, a company that provides defect-scanning services and tools for verifying source code, has a contract with the U.S. Department of Homeland Security to scan key Open Source projects for defects, and they have just included Mono in the list of projects they scan. You can see how some popular Open Source projects, including Mono, fare at http://scan.coverity.com/. Mono has 123 open bugs listed in 316,875 lines of code for an error rate of 0.391 bugs per thousand lines of code. Respectable but not great. Compare it to Linux 2.6 (0.160), Free BSD (0.386), NetBSD (0.493), and WINE (0.298). The number generally accepted as average for commercially developed software is 0.500.
Mono Runtime Paolo has written an excellent explanation of how compacting generational GCs work, along with details of how he implemented Mono's GC. It includes optimizations for large objects and pinned objects, and tricks for minimizing the amount of memory that must be scanned on each pass. This is a well-written piece that anyone can understand, and everyone can learn from. It can be found at www.mono-project.com/Compacting_GC. The ability to unload assemblies and shut down are critical to many Web hosting applications and are much improved in this release. This was again driven by the needs of a commercial application using Mono. In this case it was scripting for the Unity game engine (http://unity3d.com/) made by OTEE for inclusion in its Unity Web plug-in. In response to another commercial user, SecondLife (see DNDJ, vol. 3, issue 11), Mono has resumed work on code verification, and support for .NET 2.0 declarative security has been added to the runtime. The handling of missing and broken assembly references has also improved, with previous "crash" bugs now throwing a TypeLoadExecption. In response to a third commercial user, Imeem, a maker of social interaction software (www.imeem.com), some port leaks on the Mac were detected and fixed. Mono's limited support for COM now includes marshaling of BSTR and VARIANT types on Windows platforms. The IronPython beta 8 now works on Mono out-of-the-box. IronPython continues to add .NET 2.0 features, pushing Mono to add support for these features. There were also some optimizations and improvements in the runtime and the C# compiler, along with the inclusion of more version 2.0 features. Reader Feedback: Page 1 of 1
Subscribe to our RSS feeds now and receive the next article instantly!
Subscribe to the World's Most Powerful Newsletters
|
|
||||||||||||||||||||||||||||||||||||