Spelling suggestions: "subject:"_static analyzer"" "subject:"_static enalyzer""
1 |
Worst Case Execution time Analysis Support for the ARM Processor Using GCCYen, Cheng-Yu 09 August 2010 (has links)
This thesis presents a tool for obtaining worst-case execution time (WCET) guarantees for ARM processors. This tool is an interface between ARM¡¦s GCC compiler and the SWEET WCET analyzer. SWEET is an open-source static analyzer that derives a guaranteed upper bound on the WCET of a program.
The WCET of a program is an important metric in real-time systems. The task scheduler must decide how much time to allot for each process; if the allotted time exceeds the WCET, the process can be guaranteed to always finish in time. Although the WCET value is therefore useful, it is difficult to find. But, for the purpose of guaranteeing that a process finishes on time, an upper bound on the WCET suffices. Static program analysis has been proposed as a method to derive such an upper-bound on the WCET, by means of conservatively approximating the runtime of the individual parts of a complete program. SWEET is one such static analyzer.
Our tool works inside of ARM-GCC, extracting all of the information that SWEET needs about the program¡¦s behavior. Our tool then packages the information into the SWEET¡¦s ALF format. The tool has been tested and works correctly for every input source that we have tested (including all 34 benchmarks from the WCET BENCHMARK SUITE[1]).
This work was funded by Taiwan¡¦s National Science Council, grant NSC 97-2218-E-110-003
|
2 |
Information Visualization and Machine Learning Applied on Static Code AnalysisKacan, Denis, Sidlauskas, Darius January 2008 (has links)
Software engineers will possibly never see the perfect source code in their lifetime, but they are seeing much better analysis tools for finding defects in software. The approaches used in static code analysis emerged from simple code crawling to usage of statistical and probabilistic frameworks. This work presents a new technique that incorporates machine learning and information visualization into static code analysis. The technique learns patterns in a program’s source code using a normalized compression distance and applies them to classify code fragments into faulty or correct. Since the classification frequently is not perfect, the training process plays an essential role. A visualization element is used in the hope that it lets the user better understand the inner state of the classifier making the learning process transparent. An experimental evaluation is carried out in order to prove the efficacy of an implementation of the technique, the Code Distance Visualizer. The outcome of the evaluation indicates that the proposed technique is reasonably effective in learning to differentiate between faulty and correct code fragments, and the visualization element enables the user to discern when the tool is correct in its output and when it is not, and to take corrective action (further training or retraining) interactively, until the desired level of performance is reached.
|
3 |
Uma investigação da correspondência entre mutações e avisos relatados por ferramenta de análise estática / Investigating the correspondence between mutations and static warnings reported by static analysis toolAraújo, Claudio Antônio de 04 December 2015 (has links)
Submitted by Luciana Ferreira (lucgeral@gmail.com) on 2016-04-18T13:33:01Z
No. of bitstreams: 2
Dissertação - Cláudio Antônio de Araújo - 2015.pdf: 6483664 bytes, checksum: bf12aa2fbdc30e9456d8036d9cc24fd1 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2016-04-18T13:34:40Z (GMT) No. of bitstreams: 2
Dissertação - Cláudio Antônio de Araújo - 2015.pdf: 6483664 bytes, checksum: bf12aa2fbdc30e9456d8036d9cc24fd1 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5) / Made available in DSpace on 2016-04-18T13:34:40Z (GMT). No. of bitstreams: 2
Dissertação - Cláudio Antônio de Araújo - 2015.pdf: 6483664 bytes, checksum: bf12aa2fbdc30e9456d8036d9cc24fd1 (MD5)
license_rdf: 23148 bytes, checksum: 9da0b6dfac957114c6a7714714b86306 (MD5)
Previous issue date: 2015-12-04 / Traditionally, mutation testing is used for test set and/or test criteria evaluation
once it is considered a good fault model. Since static analyzers, in general, report a
substantial number of false positive warnings,
Objective: This paper uses mutation testing for evaluating an automated static analyzer.
The intention of this study is to define a prioritization approach of static warnings based
on their correspondence with mutations.
Method: We used mutation operators as a fault model to evaluate the direct correspondence
between mutations and static warnings. The main advantage of using mutation operators
is that they generate a large number of programs containing faults of different types,
which can be used to decide the ones most probable to be detected by static analyzers.
Results: The results obtained for a set of open-source programs indicate that: 1) correspondence
exists when considering specific mutation operators such that static warnings
may be prioritized based on their correspondence level with mutations; 2) correspondence
exists when considering specific warning categories such that, assuming we perform static
analysis considering these warning categories, mutation operators may be prioritized
based on their correspondence level with warnings.
Conclusion: It is possible to provide an incremental testing strategy aiming at reducing
the cost of both static analysis and mutation testing using the correspondence information.
On the other hand, knowing that Mutation Test has a high application cost, we identified
mutations of some specific mutation operators, which an automatic static analyzer is not
able to detect. Therefore, this information can used to prioritize the order of applying
mutation operators incrementally considering, firstly, those with no correspondence with
static warnings. / Considerando que: 1) analisadores estáticos automatizados são ferramentas
que emitem avisos, sem que seja necessário a execução do produto de software correspondente,
alertando sobre a presença de possíveis defeitos no código. Uma das críticas a
tais ferramentas é a grande quantidade de avisos falsos positivos emitidos, isto é, avisos
relatados que não correspondem a defeitos reais, mas demandam tempo de análise por
parte do desenvolvedor; 2) tradicionalmente, o Teste de Mutação tem sido utilizado para
avaliar (e melhorar) a qualidade de conjuntos de casos de teste e/ou de critérios de teste,
uma vez que é considerado um bom gerador de defeitos de software.
Objetivo: O objetivo do presente trabalho é investigar a correspondência entre avisos
estáticos e mutações e, com isso, verificar quais avisos estão mais relacionados a esses
possíveis defeitos (mutações) e, assim, possivelmente, serem avisos verdadeiros positivos.
Método: Os operadores de mutação são utilizados neste trabalho como um modelo de
defeitos para avaliar a correspondência entre mutações e avisos estáticos. A principal
vantagem da utilização de operadores de mutação é que eles geram um grande número de
programas com defeitos de diferentes tipos. Esses tipos de defeitos são usados em estudos
experimentais para investigar a capacidade dos analisadores estáticos em detectá-los.
Resultados: Os resultados obtidos com estudos experimentais para um conjunto de
sistemas de código aberto indicam que existe correspondência quando são considerados
alguns operadores de mutação da μJava e alguns tipos de avisos da FindBugs.
Conclusão: Os resultados obtidos podem ser utilizados de duas maneiras distintas:
Primeiro, é fornecida uma abordagem de análise incremental dos avisos, de acordo com
o grau de correspondência com mutações. Segundo, com o objetivo de reduzir o custo do
Teste de Mutação é fornecida uma abordagem de priorização incremental para análise dos
mutantes dos operadores cujas mutações são menos “percebidas” pela FindBugs.
|
4 |
Efficient Disambiguation of Task Instructions in CrowdsourcingVenkata Krishna Chaithanya Manam (15354805) 27 April 2023 (has links)
<p>Crowdsourcing allows users to offload tedious work to an on-demand workforce. However, the time saved by the requesters is often offset by the time they must spend preparing instructions and refining them to address the ambiguities that typically arise. If crowdsourcing is to become viable, and result in net gains for requesters, requesters must be able to obtain high-quality results with a low investment of time in writing instructions. That might mean finding ways to accommodate hastily written instructions. Instruction quality could be improved by resolving ambiguities either with help of crowd workers, or by using NLP-based tools. </p>
<p><br></p>
<p>In this dissertation, I present 1) a taxonomy of ambiguities that can occur in task instructions, 2) a workflow that enables requesters to resolve ambiguities before posting them to workers, 3) a set of methods to improve the quality of instructions while workers are</p>
<p>working on the task, and finally, 4) a system that leverages current NLP technologies to detect ambiguities automatically before they are posted to the workers.</p>
|
Page generated in 0.0375 seconds