My articles in English

Copyright: all articles and reports are under copyright from the author and/or the publisher. Reproduction or translation of any part without permission of the copyright owner is unlawful.

Software Engineering
SmartFP: Function Points as a Decision Treepdf
Draft version 1.1, August, 2008

BetterEstimate: the (simple) math behindpdf
Draft version 1.0, February, 2007

Listen to Your Tools and Materialspdf
Published in IEEE Software, September/October 2006

Realistic and Useful: Toward Better Estimatespdf
Draft version 1.2, April 2007

When Past Solutions Cause Future Problemspdf
Published in IEEE Software, September/October 1997.
Why analysis is harder than it seems.

17 Aphorisms of Software Developmenthtml
Extended from an article published in IEEE Computer, August 1997.
Some principles of development expressed as aphorisms.

Algorithms
Minimal Perfect Hashing html
Published in Dr. Dobb's Journal, No. 249, July 1996.
An implementation in C++ of Minimal Perfect Hashing.

Sorting in Small Memories html
Published in Electronic Design, Vol. 44 No. 8, April 15, 1996.
An extremely short and very efficient sorting routine implemented in assembly.

Object Oriented Design
Deriving Patterns from Design Principleshtml
Published in Journal of Object Oriented Programming, October 1998.
Derive design patterns from first principles, using atomic techniques.

Systematic Object Oriented Designhtml
Published in IEEE Computer, September 1997. [title has been changed to "Principles Vs Patterns"]
There is a better approach to object oriented design.

Manager Classes: a Software Engineering Perspectivehtml
Published in Object Expert, May/June 1997.
Are manager classes good, evil, or plain tools?

C++
Multiple Dispatch: a new approach using templates and RTTIhtml
Published in C++ Report, June 1998.
Two new techniques for multiple dispatch in C++.
Also: a faster implementation (source code only)

Stack trace exceptions in Win32html
Published in C/C++ Users Journal, June 1998.
Get a stack trace with filenames, line numbers and function names for unhandled exceptions.
Also: the source code for the StackTrace DLL

Portable Parameterized Integers Using Template Metaprogramminghtml
Published in C++ Report, July/august 1997.
Find the smallest integral type with at least N bits, at compile time, in C++.

Stack Trace Assertions Using COFFhtml
Published in C/C++ Users Journal, June 1997.
Get a stack trace with filenames, line numbers and function names in your assert box.
Also: the source code for the Verbose Assertions DLL
note: you may want to download the StackTrace source instead (see above ); it includes the Verbose Assertion code, is safer, and can also trace exceptions.

Binary Constants using Template Metaprogramming html
Published in C/C++ Users Journal, February 1997.
Compile-time binary constants for your C++ programs.
Also: an update solving the problem with octals

OLE2: Encapsulating Aggregation in C++html
The working model of aggregation in the Component Object Model, and how to encapsulate aggregation using C++.

Interviews
Interview with Bjarne Stroustrup html
Published in Italian in Computer Programming No. 50, September 1996.
Also published in Russian in Open Systems Journal, July 1998.

An interview with Bjarne Stroustrup on the C++ language.

Interview with Niklaus Wirthhtml
Published in Software Development, June 1997.
Also published in Russian in Open Systems Journal, April 1998

An interview with Niklaus Wirth on present and future of software development.

Interview with Grady Boochhtml
Published in Italian in Computer Programming No. 61, September 1997.
An interview with Grady Booch on UML, CASE tools, and more.

Interview with Bertrand Meyerhtml
Published in Software Development, September 1997.
An interview with Bertrand Meyer on Eiffel, BON, programming and analysis/design methodologies.