Category Archives: Software Engineering

Software Engineering Research and Validation

Doing Software Engineering research requires well thought out planning and validation approaches. Studying such topics, I have come across a couple of interesting papers. A summary of their most interesting points (for me) follows below. Writing Good Software Engineering Research … Continue reading

Posted in Software Engineering | 10 Comments

How I extend Visual Studio?

These are the projects of individuals/companies who presented in the Microsoft’s Development Tools Ecosystem Summit 2009 how they are extending Visual Studio: Atmel – IDEs for AVR microcontrollers Oleg Synch – T4 Toolbox: a set of ready-to-use code generation templates … Continue reading

Posted in Software Engineering | 18 Comments

Singleton design pattern vs. static classes

During an internal .NET 101 training at Microsoft one of my students asked a very interesting question: why would we choose to use a Singleton design pattern instead of simply using a "global" static class?   After some thinking and investigation, … Continue reading

Posted in Software Engineering | 22 Comments

DSLs: the bad and the ugly

The panel “DSLs: The Good, the Bad and the Ugly” that happened at the OOPSLA 2008 conference discussed the advantages, disadvantages and challenges from the industry and academia on the use of domain-specific languages (DSLs). While the advantages brought by … Continue reading

Posted in Software Engineering | 22 Comments

[DSL Tools] VS package load failure? Look for corrupted .prf files!

  For a Visual Studio package developer, one of the most frustrating error messages is the Package Load Failure, that tells that your VS Package was unable to load in the IDE. For some of my projects, including the FeatureModelDSL, … Continue reading

Posted in Software Engineering | 18 Comments

[DSL Tools] How to handle a model (diagram) Load event

  Suppose you have a domain concept (class) with a Namespace property, which will be used in code generation. It would be cool if such a property was automatically filled with the value of the project root namespace when the … Continue reading

Posted in Software Engineering | 17 Comments

Programmatically checking valid identifiers

  Have a string and need to check if it’s a valid C# identifier (to use as a method name in code generation, for example)? Try this code: Microsoft.CSharp.CSharpCodeProvider.CreateProvider("C#").IsValidIdentifier(myString); I recommend checking other useful methods of the CodeDomProvider class as … Continue reading

Posted in Software Engineering | 8 Comments

Sandcastle Help File Builder

  The Sandcastle Help File Builder is a great tool for creating .html and .chm help files from .NET XML comments without demanding the complexity of SandCastle. I believe this tool is a better option than DocProject, which requires itself … Continue reading

Posted in Software Engineering | 43 Comments

Introducing Microsoft Blueprints

  Some of the foundations of the Microsoft Software Factories Initiative are, among others, domain-specific languages and guidance automation. This last foundation refers to automating common tasks during the development of a product that actually belongs to a family of … Continue reading

Posted in Software Engineering | 6 Comments

SharpLudus presentation at VSX DevCon 2008 / Apresentação do SharpLudus no VSX DevCon 2008

  As some of the Visual Studio Extensibility Developer Conference (VSX DevCon) 2008 screencasts are getting published, here you have the (quick) presentation of my SharpLudus PhD project, which happened in the How do I extend Visual Studio? session: http://images.video.msn.com/flash/soapbox1_1.swfContinue reading

Posted in Software Engineering | 9 Comments