Subventions et des contributions :

Titre :
Performance comprehension of production software
Numéro de l’entente :
DGDND
Valeur d'entente :
120 000,00 $
Date d'entente :
10 janv. 2018 -
Organisation :
Conseil de recherches en sciences naturelles et en génie du Canada
Location :
Colombie-Britannique, Autre, CA
Numéro de référence :
GC-2017-Q4-00567
Type d'entente :
subvention
Type de rapport :
Subventions et des contributions
Informations supplémentaires :

Subvention ou bourse octroyée s'appliquant à plus d'un exercice financier (2017-2018 à 2020-2021).

Nom légal du bénéficiaire :
Fedorova, Alexandra (The University of British Columbia)
Programme :
Supplément aux subventions à la découverte MDN-CRSNG
But du programme :

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.