Subventions et des contributions :
Subvention ou bourse octroyée s'appliquant à plus d'un exercice financier (2017-2018 à 2020-2021).
Software developers are among the most highly paid and sought-after talent in both Canada and the US; Canada alone facing a gap of 182,000 ICT workers. Shortage can be at least partially relieved with improved productivity. Our project will address an important and often overlooked aspect of software development productivity: performance debuggingtuning. A recent survey revealed that 92% of developers faced customer-affecting performance issues during the preceding year; all in all, ~300 interviewed engineers spent 130 man-months diagnosing and fixing performance problems. The respondents further admitted that the most difficult part of performance tuning was not actually fixing the problem, but gathering and analyzing evidence and getting to its root cause. Many performance tools exist, but their primary focus is collecting performance events, such as operation timestamps or hardware metrics, and not on the analysis of the data. As a result, engineers are often swamped with swaths of data, but have little idea how effectively use it. Performance tuning is further aggravated by the fact that today s engineers deal with a lot of code they did not write: sifting through performance data without understanding the code is hardly efficient. Based on these observations, the goal of our project is to unite performance analysis and program comprehension. We aspire to design methodologies, algorithms, and ultimately build visually rich tools that will to engineers not only enable effectively navigating through billions of performance events, but also enable the developer to comprehend the flow of the program, the layout of data structures and data access patterns, while at the same time relating them to performance metrics. Our hope is that these tools will help the engineer to simultaneously understand how the program works, how it accesses data, how it performs, and why it performs the way it does.