]> git.donarmstrong.com Git - don.git/blob - posts/bug_reporting_rate.mdwn
d947678b62b41d3a6dab04d1b80f95e395f5d823
[don.git] / posts / bug_reporting_rate.mdwn
1 [[!meta title="Bug Reporting Rate in Debian"]]
2
3 [Christian's most recent blog post](http://www.perrier.eu.org/weblog/2012/10/09#690000)
4 got me wondering if the decline in the bug reporting rate in Debian
5 was something new, or something which often happened during releases.
6 So, lets try to figure that out. In the BTS, when a bug report is
7 filed, the report is written to a file called `bugnum.report`, and
8 then not touched from then on. Let's look at the modification date on
9 that file to see when each bug was filed; and since we're going to
10 plot this, lets only look at bugs ending in 00:
11
12     stat -c '%n %Y' /srv/bugs.debian.org/spool/{archive,db-h}/00/*.report > ~/reporting_rate.txt
13
14
15 Now, lets get the data into R and plot it.
16 [For clarity, I'm not showing the R code, but it's available in the source cdoe for this post.]
17
18 [[!sweavealike fig=0 echo=0 code="""
19 print(getwd())
20 """]
21
22 [[!sweavealike fig=1 echo=0 code="""
23 require(lattice)
24 print(getwd())
25 reporting.rate <- read.table("data/bug_reporting_rate.txt")
26 colnames(reporting.rate) <- c("bug","epoch")
27 reporting.rate <- data.frame(reporting.rate)
28 reporting.rate$bug <- as.numeric(gsub("\\\\.report","",gsub(".*\\\\/","",reporting.rate$bug)))
29 reporting.rate <- reporting.rate[order(as.numeric(reporting.rate$bug)),]
30 ### this is the number of bugs submitted per second
31 ### however, for bug numbers less than about 100000, this number is wrong.
32 reporting.rate$rate <- c(NA,(reporting.rate$bug[-1] - reporting.rate$bug[-nrow(reporting.rate)])/
33         (reporting.rate$epoch[-1]-reporting.rate$epoch[-nrow(reporting.rate)]))
34 reporting.rate$day <- as.POSIXct(reporting.rate$epoch,origin="1970-01-01")
35 ### show the reporting rate from 2003 onward with a lowess line
36 print(xyplot(rate~day,reporting.rate[reporting.rate$epoch >= 1041408000,],
37        panel=function(x,y,col,...){
38              panel.xyplot(x,y,col="cyan",...);
39                  panel.loess(x,y,col="red",...);},
40       ylim=c(0,0.005),
41           ylab="Bugs per Second",
42           xlab="Time"))
43 """]]
44
45 From the plot (Bugs reported per second over time with a red loess fit
46 line), it looks like we do see a decline during certain periods.
47 However, there's an even more alarming trend of a decrease in bug
48 reporting in Debian which has been happening since 2006. (Note that
49 I've truncated the y scale significantly; there are periods in Debian
50 where the bug rate is astronomically high, usually corresponding to
51 mass bug filings; I've also limited the plot to data from 2003 on, as
52 I have to clean up that data significantly before I can plot it like
53 this.)
54
55 Not sure exactly what that means, but it is troubling.
56
57
58 [[!tag tech debian r debbugs]]