@article {Simula.approve.46,
	title = {UML/MARTE Model Analysis Method for Uncovering Scenarios Leading to Starvation and Deadlocks in Concurrent Systems},
	journal = {IEEE Transactions on Software Engineering},
	volume = {38},
	number = {2},
	year = {2012},
	publisher = {IEEE},
	abstract = {Concurrency problems, such as starvation and deadlocks, should be identified early in the design process. As larger, more complex concurrent systems are being developed, this is made increasingly difficult. We propose here a general approach, based on the analysis of specialized design models expressed in the Unified Modeling Language (UML) that uses a specifically designed genetic algorithm to detect concurrency problems. Though the current paper addresses deadlocks and starvation, we will show how the approach can be easily tailored to other concurrency issues. Our main motivations are (1) to devise solutions that are applicable in the context of the UML design of concurrent systems without requiring additional modeling and (2) to use a search technique to achieve scalable automation in terms of concurrency problem detection. To achieve the first objective, we show how all relevant concurrency information is extracted from systems{\textquoteright} UML models that comply with the UML Modeling and Analysis of Real-Time and Embedded Systems (MARTE) profile. For the second objective, a tailored genetic algorithm is used to search for execution sequences exhibiting deadlock or starvation problems. Scalability in terms of problem detection is achieved by showing that the detection rates of our approach are in general high and are not strongly affected by large increases in the size of complex search spaces.},
	author = {Shousha, Marwa and Briand, Lionel Claude and Labiche, Yvan}
}
@inproceedings {Simula.SE.645,
	title = {A UML/MARTE Model Analysis Method for Detection of Data Races in Concurrent Systems},
	journal = {ACM/IEEE MODELS 2009},
	year = {2009},
	publisher = {Springer-Verlag Berlin, Heidelberg},
	type = {Conference},
	abstract = {The earlier concurrency problems are identified, the less costly they are to fix. As larger, more complex concurrent systems are developed, early detection of problems is made increasingly difficult. Meant to be used in the context of Model Driven Development, we have developed a general approach, based on the analysis of design models expressed in the Unified Modeling Language (UML) that uses specifically designed genetic algorithms to detect concurrency problems. All relevant concurrency information is extracted from systems{\textquoteright} UML models that comply with the UML Modeling and Analysis of Real-Time and Embedded Systems profile. Our approach was previously shown to work for both deadlocks and starvation. The current paper addresses data race detection, further illustrating how our approach can be tailored to other concurrency issues. Our main motivations are (1) to devise practical solutions that are applicable in the context of UML design of concurrent systems without requiring additional modeling and (2) to achieve scalable automation. Results on a case study inspired from the Therac-25 radiation machine show that our approach is effective in the detection of data races.},
	isbn = {978-3-642-04424-3},
	author = {Shousha, Marwa and Briand, Lionel and Labiche, Yvan},
	editor = {Sch{\"u}rr, Andy and Selic, Bran}
}
@inproceedings {Simula.SE.279,
	title = {A UML/SPT Model Analysis Methodology for Concurrent Systems Based on Genetic Algorithms},
	journal = {ACM/IEEE 11th International Conference in Model Driven Engineering Languages and Systems (MODELS 2008)},
	year = {2008},
	type = {Conference},
	author = {Shousha, Marwa and Briand, Lionel and Labiche, Yvan}
}
@article {Simula.SE.19,
	title = {Using Genetic Algorithms for Early Schedulability Analysis and Stress Testing in Real-Time Systems},
	journal = {Journal of Genetic Programming and Evolvable Machines},
	volume = {7},
	number = {2},
	year = {2006},
	author = {Briand, Lionel and Labiche, Yvan and Shousha, Marwa}
}
