Paper #01 Authors: Lal George, Matthias Blume Title:Taming the IPX Network Processor Reviewer name Adrian Pop, adrpo@ida.liu.se Short summary The focus of the paper is on design and compilation of a new programming language called Nova, targeted to writing network applications for network processors (here Intel IPX1200). The Nova language is translated to Continuation-Passing Style (CPS) intermediate representation and some optimization phases are applied to it. CPS is then translated to Static Single Assignment (SSA). The bank-assignment and coloring of aggregates are constructed optimally using Integer Linear Programming (ILP). As results, the compiler is used to generate code for three network related programs. The main contributions They have developed a high level language for network processors. The compilation phases of their language are detailed. Merits and weaknesses + a language that abstracts away from machine code was created - no comparison between their generated code and the code obtained from compilers like Intel IXA Microengine C Compiler or hand-coded assembly. Numerical rating in the interval from 0 (very bad) to 10 (excellent) * Significance: 8 * Originality: 7 * Interest to a journal on programming languages and compiler technology: 8 * Quality of experimental evaluation: 1 * Overall organization: 7 * Presentation (language and style): 8 * Length appropriate: 7 * References appropriate: 9 * Overall evaluation (0..10): 8 * Recommendation: accept * Your confidence in your review (1=novice, 10=leading expert): 4 Comments to the authors Maybe the FLINT intermediate language could be used instead of CPS. Suggestions for improvement (for the authors) (short - no minor details here) - In related work the existing high-level languages and their compilers for the same architecture should be presented. You only mention briefly the Intel-C compiler. - In the Result section would be more realistic if you have a speed comparison between your generated code and one coded by hand or generated from Intel-C (mentioned in section 2.2). Also a comparison (compilation time)/(generated code) speed between your compiler and other existing ones could be beneficial.