Hello everyone,

Naeem Esfahani is going to be presenting at our lunch hour seminar this Thursday at noon in 4201. This will the last lunch hour seminar of the semester and pizza will be provided.


Taming the Uncertainty of Decision Making in Software Engineering


Software engineering decisions impact the quality of the software (e.g., throughput, durability, dependability) as well as stakeholder concerns (e.g., cost, time to delivery). Choices made early on are both difficult and costly to change, and thus it is paramount that the engineer gets them “right”. This leads to a paradox, as in early design, the engineer is often forced to make these decisions under uncertainty, i.e., not knowing the precise impact of those decisions on the various quality attributes and concerns. How could the engineer make the “right” choices in such circumstances? This is precisely the question on which I focus during my talk. I also show that similar difficulties apply to decision making at run-time. I present a framework aimed at quantitative exploration of the solution space under uncertainty. This framework provides techniques founded on fuzzy mathematics that help with making informed decisions both at design-time and run-time. My experiences with using this framework in several software development projects at companies such as SAIC and Google have corroborated its benefits in practice.


Naeem Esfahani is a PhD candidate in the Department of Computer Science at George Mason University (GMU). His current research mainly focuses on software architecture, autonomic computing, and mobile/distributed software systems. Esfahani received his MS degree in Computer Engineering with an emphasis on Software Engineering from Sharif University of Technology (SUT) in 2008 and his BS degree in Electrical and Computer Engineering with an emphasis on Software Engineering from University of Tehran (UT) in 2005.