920 resultados para Program Analysis


Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Parallelizing compilers have difficulty analysing and optimising complex code. To address this, some analysis may be delayed until run-time, and techniques such as speculative execution used. Furthermore, to enhance performance, a feedback loop may be setup between the compile time and run-time analysis systems, as in iterative compilation. To extend this, it is proposed that the run-time analysis collects information about the values of variables not already determined, and estimates a probability measure for the sampled values. These measures may be used to guide optimisations in further analyses of the program. To address the problem of variables with measures as values, this paper also presents an outline of a novel combination of previous probabilistic denotational semantics models, applied to a simple imperative language.

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Relevância:

100.00% 100.00%

Publicador:

Resumo:

We present a tutorial overview of Ciaopp, the Ciao system preprocessor. Ciao is a public-domain, next-generation logic programming system, which subsumes ISO-Prolog and is specifically designed to a) be highly extensible via librarles and b) support modular program analysis, debugging, and optimization. The latter tasks are performed in an integrated fashion by Ciaopp. Ciaopp uses modular, incremental abstract interpretation to infer properties of program predicates and literals, including types, variable instantiation properties (including modes), non-failure, determinacy, bounds on computational cost, bounds on sizes of terms in the program, etc. Using such analysis information, Ciaopp can find errors at compile-time in programs and/or perform partial verification. Ciaopp checks how programs cali system librarles and also any assertions present in the program or in other modules used by the program. These assertions are also used to genérate documentation automatically. Ciaopp also uses analysis information to perform program transformations and optimizations such as múltiple abstract specialization, parallelization (including granularity control), and optimization of run-time tests for properties which cannot be checked completely at compile-time. We illustrate "hands-on" the use of Ciaopp in all these tasks. By design, Ciaopp is a generic tool, which can be easily tailored to perform these and other tasks for different LP and CLP dialects.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Thesis (M.S.)--University of Illinois.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

[v.3] Appendices.--[v.4] Excerpts.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Report 2-3 published by Federal Security Agency, Social Security Administration, Bureau of Old-Age and Survivors Insurance, Division of Program Analysis.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

At head of title: Library programs, LCSA VI.

Relevância:

100.00% 100.00%

Publicador:

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.

Relevância:

100.00% 100.00%

Publicador:

Resumo:

Thesis (Ph.D, Computing) -- Queen's University, 2016-09-30 09:55:51.506

Relevância:

70.00% 70.00%

Publicador:

Resumo:

In this study, a full-length cytosolic heat shock protein 70 complementary DNA (cDNA) of Laminaria japonica (designated as LJHsp70) was obtained by reverse transcriptase-polymerase chain reaction (RT-PCR) coupled with rapid amplification of cDNA ends. The full length of LJHsp70 cDNA was 2,918 bp, with a 5' untranslated region of 248 bp, a 3' untranslated region of 696 bp, and an open reading frame of 1,974 bp encoding a polypeptide of 657 amino acids with an estimated molecular mass of 72.03 kDa and an estimated isoelectric point of 4.97. There was highly repeated sequence of CAA in 5' untranslated region of LJHsp70. The result of phylogenetic tree of Hsp70s, the BLAST program, analysis and cytosolic Hsp70-specific motif of LJHsp70 verified that the cloned LJHsp70 belonged to cytosolic Hsp70 family. Three typical Hsp70 signature motifs were detected in LJHsp70 by InterPro analysis. Under different stress conditions, messenger RNA (mRNA) expression levels of LJHsp70 were quantified by quantitative RT-PCR. To L. japonica sporophytes kept in different temperatures for 1 h, the expression level of LJHsp70 at 30A degrees C was highest and twofold higher than that at 10A degrees C. To L. japonica sporophytes kept at 25A degrees C for different times, the mRNA expression level of LJHsp70 reached a maximum level after 7 h and then dropped progressively. The expression level of LJHsp70 at 0 or 5aEuro degrees salt concentration for 2 h was twofold higher than that at 30aEuro degrees salt concentration for 2 h. The results showed that LJHsp70 may be a kind of potential biomarker used to monitor environment conditions.