Score: 3 Confidence: 1 Interest: 4 | Accessibility: 2 | Quality: 3 | Contribution: 3 This paper augments the Proebsting-Watterson algorithm for fusing pipelines of filters of network protocols in two ways: by using a lazy symbolic execution, and by developing three optimization techniques. The paper is extremely poorly presented. The application area appears to be layered network protocols, but this is not made clear until almost the end of the paper. The paper assumes that the reader is familiar with both the application domain and the P-W fusion algorithm. The paper is written in vague generalities that do not help with understanding the paper. More seriously, it appears that the techniques proposed in the paper are not very effective anyway. The performance results indicate little or no performance improvement in most of the benchmarks, and a performance loss in some. Given this largely negative result, the paper cannot be considered seriously. //////////////////////////////////////////////////////////////////////////// Score: 4 Confidence: 1 Interest: 5 | Accessibility: 4 | Quality: 5 | Contribution: 4 This paper describes how the Proebsting-Watterson filter fusion algorithm can be changed in order to generate code which is easier to optimise. Three optimisations are given: filter loop fusion, binary loop fusion and subroutines. These transformations have been implemented, and the results are given for a number of test inputs. My comments are as follows: There is not enough description of the filter fusion algorithm itself to set the scene for the later work. The code generation techniques are also not described very well - perhaps some diagrams would help here. It is also not made clear what is previous work, and what are the new contributions of this paper. None of the transformations are described very well. For example, consider the example of filter loop fusion in Figure 1. C0 and F0 are included within this figure, but they are not included in the regular expression describing it. The second box in Figure 1b should contain F1 rather than F2. F3 is included in Figure 1b, but there is no indication as to what it represents. Also, a basic block B1 is referred to within Figure 1, but it is not labelled. The third step in filter fusion, and the other two transformations are not described in sufficient detail - more examples should be given. There are also no proofs of correctness for each of the transformations. In the results section, the legends in the graphs can actually be confused with the data itself, and it is not made clear what the information in the last graph actually represents. The conclusions drawn from these graphs are not particularly convincing. Other minor points: Page 2, column 1 - third last line: remove one occurrence of the 'write' Page 2, column 2 - line 6: reading data stream -> reading a data stream Page 4, column 1 - line 13: in fused function -> in a fused function Page 4, column 2 - line 1: filters need to be -> filters needs to be //////////////////////////////////////////////////////////////////////////// [The third reviewer signed the review, so I've deleted it in preference to getting permission to republish.] ////////////////////////////////////////////////////////////////////////////