A METHOD TO VERIFY PARALLEL AND DISTRIBUTED SOFTWARE IN C# BY DOING ROSLYN AST TRANSFORMATION TO A PROMELA MODEL