Posts

The Underestimated Log in Software System Part I

If you go through recent OSDI and SOSP, you will find there is a very productive professor Yuan Ding who published two papers every conference from the University of Toronto. Most of his papers focus on the logs in software. I begin to wonder why the logs are so attractive that people can publish so many papers. First I want to write a whole summary of all his papers related to logs. But it contains too many things. This is the part one which only includes the work in single machine software. The distributed system logs research is in part two. When I first learnt to write code, the most frequent question I asked my teacher is that can you help me debug my toy program? My teacher asked me the meaning of every variable and printed them out in the middle of the program to debug. In large software, developers also print something that is not the final result which is called LOG. The only propose of LOG is debugging. Debugging is hard because of three reasons: missing input, missing ru

What is a Valuable Input for Software Testing

Recently I spent some time reading the papers that describe the input synthesis. The idea is from the paper "Synthesizing Racy Tests" from PLDI'15. As I am designing the bug detection tool, we always assume we already have the input that can trigger the bug. It looks strange that why not just run the program under the buggy input to expose the bug. The reason is that the hardest part in software is nondeterminism. Even under the buggy input, the bug is not guaranteed to occur every time. Another thing is that the automated detection toolchain has three part: input generation, detection, and validation. I found that now the validation part begins to move the detection in order to make the tool more solid.  And I feel it could be a trend that the detection move to the input generation part. Because the input generation has a lot of information that is useful for detection. The input analysis makes the detection more intelligent. After reading several input synthesis

This is a test of Blogger

Just a test that I can post something here. I am a PhD student at the University of Chicago in computer science Department. This is the 8th year since I decided to learn to program.  Programming is really an amazing world from hardware to software. And I feel it is the fundamental motivation for me to study it. Even if I am a PhD student, I like engineering more than research, imagination more than proof.