2 resultados para Program Analysis
em QSpace: Queen's University - Canada
Resumo:
Modern software applications are becoming more dependent on database management systems (DBMSs). DBMSs are usually used as black boxes by software developers. For example, Object-Relational Mapping (ORM) is one of the most popular database abstraction approaches that developers use nowadays. Using ORM, objects in Object-Oriented languages are mapped to records in the database, and object manipulations are automatically translated to SQL queries. As a result of such conceptual abstraction, developers do not need deep knowledge of databases; however, all too often this abstraction leads to inefficient and incorrect database access code. Thus, this thesis proposes a series of approaches to improve the performance of database-centric software applications that are implemented using ORM. Our approaches focus on troubleshooting and detecting inefficient (i.e., performance problems) database accesses in the source code, and we rank the detected problems based on their severity. We first conduct an empirical study on the maintenance of ORM code in both open source and industrial applications. We find that ORM performance-related configurations are rarely tuned in practice, and there is a need for tools that can help improve/tune the performance of ORM-based applications. Thus, we propose approaches along two dimensions to help developers improve the performance of ORM-based applications: 1) helping developers write more performant ORM code; and 2) helping developers configure ORM configurations. To provide tooling support to developers, we first propose static analysis approaches to detect performance anti-patterns in the source code. We automatically rank the detected anti-pattern instances according to their performance impacts. Our study finds that by resolving the detected anti-patterns, the application performance can be improved by 34% on average. We then discuss our experience and lessons learned when integrating our anti-pattern detection tool into industrial practice. We hope our experience can help improve the industrial adoption of future research tools. However, as static analysis approaches are prone to false positives and lack runtime information, we also propose dynamic analysis approaches to further help developers improve the performance of their database access code. We propose automated approaches to detect redundant data access anti-patterns in the database access code, and our study finds that resolving such redundant data access anti-patterns can improve application performance by an average of 17%. Finally, we propose an automated approach to tune performance-related ORM configurations using both static and dynamic analysis. Our study shows that our approach can help improve application throughput by 27--138%. Through our case studies on real-world applications, we show that all of our proposed approaches can provide valuable support to developers and help improve application performance significantly.
Resumo:
Queen's University Library was one of 202 libraries, including 57 members of the Association of Research Libraries (ARL), to survey its users in spring 2004 using the LibQUAL+ survey instrument. LibQUAL+ was designed by ARL to assist libraries in assessing the quality of their services and identifying areas for improvement. # Overall: Queen's scored higher than the average for all ARL participants and 1st among the 2004 Canadian participants. This relatively high rating is due to very high scores in the dimensions of Library as Place and Affect of Service. However, there is considerable need for improvement in the area of Information Control where Queen's rated well below the ARL average. # Affect of Service: Queen's strong overall ratings are supported by the many respondent comments praising customer service throughout the system. The ratings and survey comments indicate greatest appreciation by faculty and more experienced students (e.g. graduate students) for the instruction and on-site services provided by the libraries. The ratings also indicate that undergraduates, growing up with the web, want and expected to be able to access library resources independently and do not value these services as highly. The comments also indicated some specific areas for improvement throughout the library system. # Library as Place : All Queen's libraries except for Law ranked well above the ARL and Canadian averages. Overall, Library as Place ranked lowest in importance among the service dimensions for all ARL participants including Queen's. Comparative analysis of LibQUAL results since the survey began shows a decline in “desired” ratings for Library as Place. However, undergraduates continue to give strong "desired" ratings to certain aspects of Library as Place and a relatively high rating for "minimum expected" service. The comments from Queen's survey respondents and ARL's analyses of focus groups indicate that undergraduates value the library much more as a place to study and work with peers rather than for its on-site resources and services. # Information Control: This is the area in greatest need of attention. While it ranked highest in importance for all user groups by a wide margin, Queen's performed poorly in this category. Overall, Queen's ranked far below both the ARL average and the top three Canadian scores. However, the major dissatisfaction was concentrated in the humanities/social sciences (Stauffer primary users) and the health sciences (Bracken primary users) where the overall rating of perceived service quality ranked below the minimum expected service rating. Primary users of the Education, Engineering/Science and Law libraries rated this service dimension higher than the ARL average. The great success of the Canadian National Site License Program (CNSLP) is reflected in the high overall rating generated by Engineering/Science Library users. The low ratings from the humanities and social sciences are supported by respondents' comments and are generally consistent with other ARL participants.