Airbnb Engineering
Petr Muller's insight:In my experience as a curator of interesting resources in software, quality and testing, I have found that one of the most useful resources are not personal blogs, but tech...
View ArticleMining Software Repositories
The Mining Software Repositories (MSR) field analyzes the rich data available in software repositories to uncover interesting and actionable information about software systems and projects. The goal of...
View ArticleGetting started with systemd
Systemd is a next generation system and service manager in Red Hat Enterprise Linux 7. By offering on-demand service start-up and better transactional dependency controls, systemd helps to shorten...
View ArticleUndertaker
The undertaker is an implementation of our preprocessor and configuration analysis approaches. It can check the structure of your preprocessor directives against different configuration models to find...
View ArticleGCC Undefined Behavior Sanitizer
GCC recently (version 4.9) gained Undefined Behavior Sanitizer (ubsan), a run-time checker for the C and C++ languages. In order to check your program with ubsan, compile and link the program with...
View ArticleThe Ten Worst Testing Tips I Ever Gave
A couple of weeks ago I went to a meeting with a colleague in which a European tender was discussed. The tender at hand was testing a major system build by a well-known software house. My colleague is...
View ArticleMalloc systemtap probes: an example
This script prints some diagnostic information during a program run and also logs some information to print out a summary at the end. I’ll go through the script a few related probes at a time.Petr...
View ArticleMagic Quadrant for Integrated Software Quality Suites
The integrated software quality (integrated quality assurance [IQA]) tool suite market is a subsegment of the overall software development life cycle market. It is a composite market composed of an...
View Article[Etsy] Teaching Testing: Our Testing 101 Materials
Etsy engineers have a wide variety of backgrounds, strengths, and weaknesses, so there are no engineering skills we can take for granted. And there are things you can't just assume engineers will...
View ArticleQuality Assured: What It’s Really Like To Test Games For A Living
There’s an old commercial for Westwood College that’s become something of a running joke in the video game world. Two young men sit at a couch, hammering away at PlayStation controllers. A woman walks...
View ArticleThe Big List of Naugty Strings
big-list-of-naughty-strings - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.Petr Muller's insight:A nice list of...
View ArticleGet a C++ hint every day
PVS-Studio Team checked more than 200 open-source C/C++ projects. Now we would like to share most often mistakes and ways to solve them with other C/C++ developers.Petr Muller's insight:The PVS-Studio...
View ArticleGDB Dashboard: Modular visual interface for GDB
gdb-dashboard - Modular visual interface for GDB in PythonPetr Muller's insight:GDB is probably one of the most powerful debuggers for Linux (and elsewhere), but many were turned away by it's default...
View ArticleDawn - The raising security scanner for ruby web applications
dawnscanner - Dawn is a static analysis security scanner for ruby written web applications. It supports Sinatra, Padrino and Ruby on Rails frameworks.Petr Muller's insight:Ruby on Rails might not be...
View ArticleClazy: Static Analyser for Improving Qt Program Performance
Wouldn’t it be great if compilers operated at an higher semantic level and understood more than C++ ? They could hint your STL algorithm would benefit from std::vector::reserve() calls, warn about Qt...
View ArticleFabian Yamaguchi: Mining for Bugs with Graph Database Queries
While graph databases are primarily known as the backbone of the modern dating world, this nerd has found a much more interesting application for them: program analysis. This talk aims to demonstrate...
View ArticleThe CentOS CI Infrastructure: A Getting Started Guide
Background The CentOS community is trying to build an ecosystem that fosters and encourages upstream communities to continuously perform integration testing of their code running on the the CentOS...
View ArticleThe Deadlock Empire
Slay dragons, learn concurrency! Play the cunning Scheduler, exploit flawed programs and defeat the armies of the Parallel Wizard.Petr Muller's insight:Deadlock Empire is a simple game that shows the...
View ArticleCaolán McNamara: Finding UI crashes by fuzzing input events with American...
As mentioned previously I've been experimenting using afl as a fuzzing engine to fuzz a stream of serialized keyboard events which LibreOffice reads and dispatches.Petr Muller's insight:I attended...
View ArticleFaker: Python package that generates fake data for you
Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize...
View ArticleCoverage-guided kernel fuzzing with syzkaller [LWN.net]
If your software deals with untrusted user input, it's a good idea to run a fuzzer against the program. For the Linux kernel, the most effective fuzzer of recent years has been Dave Jones's Trinity...
View Articlecwrap - A toolset for client server testing
Mission statement: cwrap's mission is to enable developers to test complex network-based and privileged software stacks on UNIX machines with limited network access and without root privileges by...
View ArticleFlow: A static type checker for JavaScript
Flow is a static type checker. The goal of Flow is to find errors in JavaScript code with little programmer effort. Flow relies heavily on type inference to find type errors even when the program has...
View ArticleMatthias Endler: Curated list of static analysis, linting and code quality tools
awesome-static-analysis - A curated list of static analysis tools, linters and code quality checkers for various programming languages See it on Scoop.it, via Flawless!
View ArticleThe Inquiry Method for Test Planning
Creating a test plan is often a complex undertaking. An ideal test plan is accomplished by applying basic principles of cost-benefit analysis and risk analysis, optimally balancing these software...
View ArticleFlaky Tests at Google and How We Mitigate Them
At Google, we run a very large corpus of tests continuously to validate our code submissions. Everyone from developers to project managers rely on the results of these tests to make decisions about...
View Articlethe morning paper
an interesting/influential/important paper from the world of computer science every weekday morning, as selected by Adrian ColyerPetr Muller's insight:One of the most useful resources I have found...
View Article500 Lines or Less: Fourth volume in the Architecture of Open Source...
500 Lines or Less focuses on the design decisions that programmers make in the small when they are building something new. The programs you will read about in this book were all written from scratch...
View ArticleBrowserLab: Automated regression detection for the web
Several years ago, Facebook was largely rendered server-side, and there was only a small amount of JavaScript on the site. To understand loading time, we could apply simple tools that focused solely...
View ArticleTest Heuristics Cheat Sheet | Test Obsessed
I’ve been meaning to post this for ages. So while I’m polishing the rough edges on my Part 2 of 2 post, I thought I’d take this opportunity to finally make good on that promise. Here it is: the...
View Article