The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Standard Annotation Language (SAL)

Just started browsing "Writing Secure Software for Win Vista" by Howard/LeBlanc and right there on page 3 surprise, surprise - Standard Annotation Language!

MS is using it. It's all over VS 2005 and according to Howard/LeBlanc it helped MS find almost half of buffer related bugs in XP so they could remove them for Vista code base.

SAL is based on macros that look like this: __in, __out, __in_opt, __checkReturn, ... etc ...

Anyone here using it in their own code?
VPC
Friday, February 15, 2008
 
 
I'd never seen this before.  I think I would rather put my effort into building/using well-encapsulated classes, e.g., if I use a robust string class I won't have buffer overruns.
Mike Stockdale Send private email
Friday, February 15, 2008
 
 
Nope never heard of it before you mentioned it. It looks interesting though.  It will be nice to have a design by contract framework with out macros.
Brian
Friday, February 15, 2008
 
 
> looks interesting though...

 Yes. For years I've been putting comments like these for example:

int SomeFunction (
 char  *aPtr,    // may be NULL
 int  *retValue, // undefined on error
 char  *aString,  // "\0" on error
 ...
)

Now, SAL not only tells you a story, but generates warnings from compiler or few other tools. Looks cool at first look, but I don't think I ever heard of it before.
VPC
Friday, February 15, 2008
 
 
There are a lot of annotation this and annotation thats. 

What makes this annotation so STANDARD?  Is there a consortium with IBM, Oracle, Google, Sun, Apple, MIT, UC Berkeley, etc that defined this standard?
<Yawwwwwn>
Sunday, March 02, 2008
 
 
So how does SAL work in Python, Java, C++, SQL, and Perl?
Learn Me
Sunday, March 02, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz