Academic literature on the topic 'Bug Detection'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the lists of relevant articles, books, theses, conference reports, and other scholarly sources on the topic 'Bug Detection.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Dissertations / Theses on the topic "Bug Detection"

1

Wei, Pihui. "Dynamic Bug Detection in TinyOS Operating Environments." The Ohio State University, 2009. http://rave.ohiolink.edu/etdc/view?acc_num=osu1238166929.

Full text
APA, Harvard, Vancouver, ISO, and other styles
2

Zhang, Tong. "Designing Practical Software Bug Detectors Using Commodity Hardware and Common Programming Patterns." Diss., Virginia Tech, 2020. http://hdl.handle.net/10919/96422.

Full text
Abstract:
Software bugs can cost millions and affect people's daily lives. However, many bug detection tools are not always practical in reality, which hinders their wide adoption. There are three main concerns regarding existing bug detectors: 1) run-time overhead in dynamic bug detectors, 2) space overhead in dynamic bug detectors, and 3) scalability and precision issues in static bug detectors. With those in mind, we propose to: 1) leverage commodity hardware to reduce run-time overhead, 2) reuse metadata maintained by one bug detector to detect other types of bugs, reducing space overhead, and 3) apply programming idioms to static analyses, improving scalability and precision. We demonstrate the effectiveness of three approaches using data race bugs, memory safety bugs, and permission check bugs, respectively. First, we leverage the commodity hardware transactional memory (HTM) selectively to use the dynamic data race detector only if necessary, thereby reducing the overhead from 11.68x to 4.65x. We then present a production-ready data race detector, which only incurs a 2.6% run-time overhead, by using performance monitoring units (PMUs) for online memory access sampling and offline unsampled memory access reconstruction. Second, for memory safety bugs, which are more common than data races, we provide practical temporal memory safety on top of the spatial memory safety of the Intel MPX in a memory-efficient manner without additional hardware support. We achieve this by reusing the existing metadata and checks already available in the Intel MPX-instrumented applications, thereby offering full memory safety at only 36% memory overhead. Finally, we design a scalable and precise function pointer analysis tool leveraging indirect call usage patterns in the Linux kernel. We applied the tool to the detection of permission check bugs; the detector found 14 previously unknown bugs within a limited time budget.<br>Doctor of Philosophy<br>Software bugs have caused many real-world problems, e.g., the 2003 Northeast blackout and the Facebook stock price mismatch. Finding bugs is critical to solving those problems. Unfortunately, many existing bug detectors suffer from high run-time and space overheads as well as scalability and precision issues. In this dissertation, we address the limitations of bug detectors by leveraging commodity hardware and common programming patterns. Particularly, we focus on improving the run-time overhead of dynamic data race detectors, the space overhead of a memory safety bug detector, and the scalability and precision of the Linux kernel permission check bug detector. We first present a data race detector built upon commodity hardware transactional memory that can achieve 7x overhead reduction compared to the state-of-the-art solution (Google's TSAN). We then present a very lightweight sampling-based data race detector which re-purposes performance monitoring hardware features for lightweight sampling and uses a novel offline analysis for better race detection capability. Our result highlights very low overhead (2.6%) with 27.5% detection probability with a sampling period of 10,000. Next, we present a space-efficient temporal memory safety bug detector for a hardware spatial memory safety bug detector, without additional hardware support. According to experimental results, our full memory safety solution incurs only a 36% memory overhead with a 60% run-time overhead. Finally, we present a permission check bug detector for the Linux kernel. This bug detector leverages indirect call usage patterns in the Linux kernel for scalable and precise analysis. As a result, within a limited time budget (scalable), the detector discovered 14 previously unknown bugs (precise).
APA, Harvard, Vancouver, ISO, and other styles
3

Ibrar, Fahad. "Strip-Miner: Automatic Bug Detection in Large Software Code with Low False Positive Rate." Thesis, Virginia Tech, 2020. http://hdl.handle.net/10919/97934.

Full text
Abstract:
There are a number of techniques for automatic bug detection, most of them have a high false positive rate when used in practice. This work proposes an approach, named Strip-Miner, that combines simple dependency analysis of code with a data mining technique "frequent itemset mining" to reduce the false positive rate. We adopt a two phase approach 1) finding the potential bugs and 2) filtering the false positive ones. In the first phase we extract code elements and dependencies among them using static analysis and frequent itemset mining to find programming patterns where a deviation from these patterns is considered as a potential bug. In the second phase, we use the extracted dependencies to build dependency chains between program elements in a programming pattern and a lack of such a chain potentially makes a bug false positive. Our evaluation on a set of 7 benchmarks consisting of large software code including OpenSSL, PostgreSQL, Git, FFMPEG, SQLite, Binutils and Putty shows that combining simple de- pendency analysis with pattern mining can significantly decrease the number of generated bugs. Using our approach we are able to reduce the number of generated bugs by up to 99.9% with a false positive rate of 65.19% and true positive rate of 34.18% on average as compared to an earlier frequent itemset mining based approach "PR-Miner".<br>Master of Science<br>Every software code has bugs in it that can change its expected behavior. There have been a lot of efforts to automate the process of bug detection but most of the techniques proposed have a high rate of false alarms. Some of these techniques leverage the information available in software code to extract programming patterns that can be used to find potential bugs. Although such an approach has proved to be fruitful for finding bugs but large number of false alarms makes it almost useless in software development. The elements present in a software code have relationships among them formally known as dependencies and the process of finding them is known as dependency analysis. There is a technique known as market basket analysis used by large retailers to find association between items. It works by looking for combinations of items that occur together frequently in transactions. Similarly, in a software code combinations of elements that occur together, can be used to find association between them. This technique is formally known as frequent itemset mining in the data mining domain. This work proposes an approach, named Strip- Miner, that combines dependency analysis with frequent itemset mining to reduce the rate of false alarms. We adopt a two phase approach 1)finding the potential bugs in code and 2)filtering the false alarms. In the first phase we extract code elements and dependencies among them and use frequent itemset mining to find programming patterns where a deviation from these patterns is considered as a potential bug. In the second phase, we use the extracted dependencies to build dependency chains between program elements present in a programming pattern and lack of such a chain is an indication of false alarm. Our evaluation on a set of 7 benchmarks consisting of large software code including version control systems, database management systems, software security libraries and utility software like media players shows that combining simple dependency analysis with frequent itemset mining can significantly decrease the rate of false alarms. Using our approach we are able to reduce the number of generated bugs by up to 99.9% with a false alarms rate of 65.19% and real bugs rate of 34.18% on average as compared to an earlier frequent itemset mining based approach "PR-Miner".
APA, Harvard, Vancouver, ISO, and other styles
4

Gao, Qi. "Runtime Support for Improving Reliability in System Software." The Ohio State University, 2010. http://rave.ohiolink.edu/etdc/view?acc_num=osu1267818711.

Full text
APA, Harvard, Vancouver, ISO, and other styles
5

Reis, Matthew Douglas. "An Evaluation of Bed Bug (Cimex lectularius L.) Host Location and Aggregation Behavior." Thesis, Virginia Tech, 2010. http://hdl.handle.net/10919/36053.

Full text
Abstract:
This study attempts to elucidate bed bug behavior in response to host cues and aggregation cues from conspecifics. Both fed and unfed bed bugs were evaluated to determine differences in behavior with regard to their circadian activities. Arena bioassays were conducted to determine the bed bugâ s ability to locate a host from different distances and if the antennae were essential for host location. Starved bed bugs were able to locate a host from 100 cm away. The bed bugs search path became more directed towards the host as the bed bug was placed at closer distances. The bed bugsâ mean searching speed was found to be 1.7 cm/s. The bed bugs were able to locate a host even when their antennae were completely removed. Fed and unfed bed bugs were tested both individually and in groups to determine their attraction towards aggregation cues. Both fed and unfed bed bugs, regardless of sex, were significantly attracted to feces of conspecifics and exuvia of fifth instars. Finally, bed bugs were observed throughout the night to document their circadian activities after successfully taking a blood meal or failing to take a blood meal. Unfed bed bugs continued to search for a host throughout the night until aggregating together 2 hours prior to photophase. Alternatively, fed bed bugs immediately aggregated together within 30 minutes of a bloodmeal.<br>Master of Science in Life Sciences
APA, Harvard, Vancouver, ISO, and other styles
6

Brocanelli, Marco. "Improving the Performance of Smartphone Apps with Soft Hang Bug Detection and Dynamic Resource Management." The Ohio State University, 2018. http://rave.ohiolink.edu/etdc/view?acc_num=osu1527609496701755.

Full text
APA, Harvard, Vancouver, ISO, and other styles
7

Thiagarajan, Deepa. "EFFICIENT DETECTION OF HANG BUGS IN MOBILE APPLICATIONS." The Ohio State University, 2016. http://rave.ohiolink.edu/etdc/view?acc_num=osu1480534528352408.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Zhang, Wenbin. "Libra: Detecting Unbalance MPI Collective Calls." The Ohio State University, 2011. http://rave.ohiolink.edu/etdc/view?acc_num=osu1313160584.

Full text
APA, Harvard, Vancouver, ISO, and other styles
9

Bester, Willem Hendrik Karel. "Bug-finding and test case generation for java programs by symbolic execution." Thesis, Stellenbosch : Stellenbosch University, 2013. http://hdl.handle.net/10019.1/85832.

Full text
Abstract:
Thesis (MSc)--Stellenbosch University, 2013.<br>ENGLISH ABSTRACT: In this dissertation we present a software tool, Artemis, that symbolically executes Java virtual machine bytecode to find bugs and automatically generate test cases to trigger the bugs found. Symbolic execution is a technique of static software analysis that entails analysing code over symbolic inputs—essentially, classes of inputs—where each class is formulated as constraints over some input domain. The analysis then proceeds in a path-sensitive way adding the constraints resulting from a symbolic choice at a program branch to a path condition, and branching non-deterministically over the path condition. When a possible error state is reached, the path condition can be solved, and if soluble, value assignments retrieved to be used to generate explicit test cases in a unit testing framework. This last step enhances confidence that bugs are real, because testing is forced through normal language semantics, which could prevent certain states from being reached. We illustrate and evaluate Artemis on a number of examples with known errors, as well as on a large, complex code base. A preliminary version of this work was successfully presented at the SAICSIT conference held on 1–3 October 2012, in Centurion, South Africa.<br>AFRIKAANSE OPSOMMING: In die dissertasie bied ons ’n stuk sagtewaregereedskap, Artemis, aan wat biskode van die Java virtuele masjien simbolies uitvoer om foute op te spoor en toetsgevalle outomaties voort te bring om die foute te ontketen. Simboliese uitvoering is ’n tegniek van statiese sagteware-analise wat behels dat kode oor simboliese toevoere—in wese, klasse van toevoer—geanaliseer word, waar elke klas geformuleer word as beperkinge oor ’n domein. Die analise volg dan ’n pad-sensitiewe benadering deur die domeinbeperkinge, wat volg uit ’n simboliese keuse by ’n programvertakking, tot ’n padvoorwaarde by te voeg en dan nie-deterministies vertakkings oor die padvoorwaarde te volg. Wanneer ’n moontlike fouttoestand bereik word, kan die padvoorwaarde opgelos word, en indien dit oplaasbaar is, kan waardetoekennings verkry word om eksplisiete toetsgevalle in ’n eenheidstoetsingsraamwerk te formuleer. Die laaste stap verhoog vertroue dat die foute gevind werklik is, want toetsing word deur die normale semantiek van die taal geforseer, wat sekere toestande onbereikbaar maak. Ons illustreer en evalueer Artemis met ’n aantal voorbeelde waar die foute bekend is, asook op ’n groot, komplekse versameling kode. ’n Voorlopige weergawe van die´ werk is suksesvol by die SAICSIT-konferensie, wat van 1 tot 3 Oktober 2012 in Centurion, Suid-Afrika, gehou is, aangebied.
APA, Harvard, Vancouver, ISO, and other styles
10

Chen, Zhezhe. "System Support for Improving the Reliability of MPI Applications and Libraries." The Ohio State University, 2013. http://rave.ohiolink.edu/etdc/view?acc_num=osu1375880144.

Full text
APA, Harvard, Vancouver, ISO, and other styles
More sources
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography