wenfei6316 / llcov Goto Github PK
View Code? Open in Web Editor NEWThis project forked from choller/llcov
LLVM-based, flexible, live coverage instrumentation for C/C++ code
License: Other
This project forked from choller/llcov
LLVM-based, flexible, live coverage instrumentation for C/C++ code
License: Other
For a short installation guide, see the INSTALL file. For examples on how to use this tool, see HOWTO. == Introducing LLCov == === What is LLCov? === LLCov is a C/C++ code instrumentation tool that can be used to measure block coverage. Unlike the popular GCOV coverage tool for GCC, LLCov instruments each basic block in the code with a call to an external function (provided by an arbitrary runtime library). In addition, the instrumentation can be limited to parts of the code (e.g. individual files, functions or blocks) to improve performance and focus on the relevant code parts. LLCov is based on LLVM and integrates into the Clang C/C++ compiler. === Why would I need this? === There are several scenarios where LLCov could aid the development process while GCOV would not be suitable for the purpose: * Instrument only code that is not covered by tests: Almost all projects have one or more test suites that cover a certain amount of the code base. Adding an instrumentation to the "untested" code can be helpful for automatic testing tools to detect when such a part of the code is executed. * Instrument only code changed by a patch: Whenever a patch is submitted, only the code that is changed by the patch could be instrumented, to see if it is covered by the test suites and to what extent. Only instrumenting the patched part should provide a great performance boost. * Use coverage information while the program is running (as a "feedback"), e.g. in a fuzzer: If the fuzzer knows that it just covered a piece of code that should be tested more extensively, it can focus further on that part. This kind of feedback can also be used to adjust probabilities in the fuzzer automatically to provide a better balance between different branches during testing. * Get coverage information via alternative ways: The runtime library of LLCov can easily be replaced/extended, e.g. to send all coverage information over a network link. Wouldn't it be nice to get coverage information from a mobile/embedded device directly over the network?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.