Annotation of res/PP-compiler.tex, revision 1.8
1.1 andi 1: \documentclass[11pt,a4paper]{article}
2: %\usepackage{latexsym}
3: \usepackage{url}
4: %\usepackage{times}
5: \usepackage{comment}
6:
7: \pagestyle{plain}
8: \setlength{\textwidth}{16truecm}
9: \setlength{\textheight}{24truecm}
10: \setlength{\oddsidemargin}{-0.3truecm}
11: \setlength{\evensidemargin}{-0.3truecm}
12: \setlength{\topmargin}{0.0truecm}
13: \setlength{\topskip}{0.0truecm}
14: \setlength{\headheight}{0.0truecm}
15: \setlength{\headsep}{0.0truecm}
16:
17: \newcommand{\emn}[1]{{\em #1\/}}
18: \newcommand{\NOTE}[1]{{\medskip\bf #1\medskip}}
19:
20: \title{\bf PP \emph{Compilation Techniques for Robust Embedded Systems}}
21:
1.6 andi 22: \author{{\sc Andreas Krall and Jens Knoop}\\
23: \{andi,knoop\}@complang.tuwien.ac.at
1.1 andi 24: }
25:
26: \bibliographystyle{unsrt}
27:
28: \begin{document}
29: \maketitle
30:
1.2 andi 31: PP leader: \emph{Jens Knoop and Andreas Krall}
1.1 andi 32:
1.2 andi 33: Associated researchers: \emph{}
1.1 andi 34:
35:
36:
37: \subsubsection*{Motivation:}
38: %\emph{Informal description of the purpose of the PP (3-5 lines)}
39: Every embedded system consists of software which is written in a high
40: level language, compiled to machine language and executed on a
1.5 andi 41: processor. For robust embedded systems new verified compilation,
42: simulation and specification methods are necessary to optimize for
43: performance, power, space, concurrency and reliability.
1.1 andi 44:
45: \subsubsection*{State of the art and related work:}
46: %\emph{Briefly describe the scientific state of the art (20-30 lines)}
47:
1.2 andi 48: %Compilation Techniques for Reliability
49:
50: Because of the exponential increase of the number of transistors and
51: the continuing decrease of the feature sizes of current processors
52: soft errors mainly caused by energetic particles are becoming an
53: important design issue for robust embedded systems. Blome et
54: al.~\cite{Blome+06} observed that a majority of faults that affect the
55: architectural state of a processor come from the register file. Lee
56: and Shrivastava and proposed different solutions to cope with this
57: problem. The first assigns variables depending on their lifetime to
58: either the ECC protected or the unprotected part of a register file to
59: balance energy consumption and reliability \cite{LeeShrivastava09a}.
60: The second spills registers to ECC protected memory if the register
61: contents are not used for a long period \cite{LeeShrivastava09c}.
1.4 andi 62: There exist complete software solutions which use different forms of
63: code duplications \cite{Oh+02a,Reis+05}, which do failure
64: virtualization \cite{WapplerMueller08} or which use techniques like
65: control flow checking \cite{Oh+02b}. A complete overview of processor
66: description languages and generation of compilers and simulators from
67: processors specifications gives the book of Mishra and Dutt \cite{MishraDutt08}.
68: A good survey of current instruction set simulators gives our chapter
69: in the Handbook of Signal Processing systems \cite{BrHoKr09}. A famous
70: instruction set simulator with modelling of energy consumtion is Wattch
71: \cite{BrooksTiwariMartonosi00}.
1.1 andi 72:
1.7 andi 73: Compiler Verification
74:
75: \cite{Hoare03}
76: \cite{TristanLeroy09}
77: \cite{TristanLeroy08}
78: \cite{Kundu+09}
79: \cite{Necula00}
80: \cite{ZaksPnueli08}
81: \cite{Pnueli98a}
82: \cite{Pnueli98b}
83: \cite{GlesnerGoosZimmeermann04}
84: \cite{GoosZimmermann00}
85: \cite{BlechPoetzsch07}
1.1 andi 86:
87: WCET \cite{}
88:
89: \subsubsection*{Previous achievements:}
90: %\emph{Brief description of your own contributions to the related
91: %scientific state-of-the art (5-10 lines)}
92: Jens Knoop has a long history on work on program analysis with topics
93: like partial redundancy elimination or lazy code motion
94: \cite{knoop:DSP:2008:1575,conf/cc/XueK06,scholz04}. Recently he
95: changed his research focus on worst case execution time analysis
96: \cite{SchrSchoKn09,Prantl:WLPE2008,prantl_et_al:DSP:2008:1661,
97: kirner_et_al:DSP:2008:1657,kirner_et_al:DSP:2007:1197}. He is involved
98: in the organization of many compiler conferences and since 2002 program
99: cochair of the yearly workshop on compiler optimization meets verification.
100:
101: Andreas Krall does research in the area of architecture description
102: languages and the automatic generation of highly optimizing compilers,
103: efficient instruction set simulators and hardware from one single
104: specification of a processor \cite{BrFeKrRi09,BrEbKr07,FaKrHo07,
105: FarKrStBrand06,Krall+04micro}. An important focus is on optimization
106: techniques for embedded processors
107: \cite{EbBrSchKrWiKa08,MeKr07,PrKrHo06,HiKr03} as he lead the Christian
108: Doppler research laboratory {\em compilation techniques for embedded
109: processors} with partners from industry (Infineon, OnDemand
110: Microelectronics).
111:
112:
113: \subsubsection*{Goals (first 4 years):}
114: %\emph{Description of the research
115: %topics to be addressed during the first 4 years. Make sure to explicitly
116: %stress what the significant additions to the scientific knowledge are,
117: %and why they are important. (30-40 lines)}
118:
119: New modeling and representation techniques of non-functional program and system properties on the programming and intermediate language levels
120: Definitions and measures of non-functional program and system properties (performance, time, space/memory, power, concurrency).
121: Modeling and representation of these properties alongside with the programming languages semantics
122: Adapting and enhancing state-of-the-art compilation techniques towards non-functional property and platform awareness
123: New functional and non-functional property and platform-aware compilation techniques
124: Analyses for non-functional program and system properties
125: Functional and non-functional property and platform-aware code generation techniques
126: Enabling validation and verification throughout the compilation process
127: Techniques for reducing or eliminating trusted code, annotation, etc., bases
128:
129:
130: \subsubsection*{Work Plan (first 4 years):}
131: %\emph{Brief description of how
132: %you intend to conduct the actual research during the first 4 years. Be sure
133: %to also describe and (coarsely) quantify the resources (staff, cost of
134: %special equipment) required for this work in a table. (20-30 lines)}
135:
1.6 andi 136: Compilation techniques for robust embedded systems comprise different areas.
137: Therefore, the project is divided into three work packages: compilation and
138: simulation techniques for reliabiltiy, verified compilation and worst case
139: execution time analysis.
1.1 andi 140:
1.5 andi 141: \paragraph*{WP1 - Compilation and Simulation Techniques for Reliability}
1.1 andi 142:
1.6 andi 143: In previous work we have developed a processor description language
144: with a very concise semantics from where we automatically generate
145: optimized compilers \cite{BrEbKr07} and high efficient instruction set
146: simulators \cite{BrFeKrRi09}. This environment we use as testbed for
147: our compiler optimizations for embedded processors
148: \cite{EbBrSchKrWiKa08,PrKrHo06,MeKr07}. We will extend this
149: environment to do research on compilation and simulation techniques to
150: enhance the reliability of processor/memory systems by mixed
151: hardware/software and pure software techniques.
1.1 andi 152:
1.5 andi 153: \begin{itemize}
154: \item Specification method to specify an energy consumption model in
155: a processor specification.
156: \item Specification method for redundancy and error correction in the
157: processor specification
158: \item Specification method for fault injection and fault checking in
159: the processor specification
160: \item Generation of optimized instruction set simulators from the
1.6 andi 161: extended processor specification
162: \item Generation of optimizing compilers from the extended processor
163: specification
1.5 andi 164: \item Research into new compiler optimizations to increase reliability by
165: pure software solutions, mixed hardware/software solutions and
166: balancing performance, code space, reliability and energy consumption
167: \item Research of correctness proofs and validation of the new optimizations
168:
169: \end{itemize}
170:
171: \paragraph*{WP2 - Verified Compilation}
172:
1.8 ! andi 173: Suitable semantics are necessary which support efficient translation
! 174: validation or support easy verification of a compiler. We will research
! 175: into different semantics and into mappings between the semantics of our
! 176: processor description language \cite{BrEbKr07} and a compiler backend
! 177: semantics, intermediate representation semantics (compatible to LLVM) and
! 178: source language semantics. The main research will be on verification and
! 179: translation validation for all kinds of compiler optimizations.
! 180:
! 181: \begin{itemize}
! 182: \item Evaluate different semantics regarding suitability for compiler
! 183: verification and translation validation, eventually develop new
! 184: semantics
! 185: \item Develop a translator for an automatic mapping from our processor
! 186: description language into verification semantics
! 187: \item Develop a validation system from the intermediate representation
! 188: (LLVM) to the processor semantics
! 189: \item Develop a validation system from the source language (C) to the
! 190: intermediate representation (LLVM)
! 191: \item Research into verification and translation validation for different
! 192: frontend and backend optimizations
! 193: \end{itemize}
1.5 andi 194:
195: \paragraph*{WP3 - Worst Case Ececution Time Analysis}
1.1 andi 196:
1.5 andi 197: WCET
1.2 andi 198:
1.1 andi 199:
200: \begin{tabular}{llll}
1.5 andi 201: \\
1.1 andi 202: \hline
1.2 andi 203: {\bf Pos} & {\bf Type} & {\bf Description} & {\bf Duration} \\
204: NN1 & PhD & reliable compilation / simulation & 4 years \\
1.5 andi 205: NN2 & PhD & verified compilation & 4 years \\
1.2 andi 206: NN3 & PhD & WCET & 4 years \\
1.1 andi 207: \hline
208: \end{tabular}
209:
210:
211: \subsubsection*{Goals (last 4 years):}
212: %\emph{Brief description of the
213: %eesearch topics to be addressed during the last 4 years. Make sure to
214: %explicitly stress what the significant additions to the scientific
215: %knowledge are, and why they are important. (20-30 lines)}
216:
217: New programming languages and compilers for RESs
218: Non-functional properties and requirements as first-class language and compiler citizens
219: New compilation techniques enabling a uniform and integrated approach
220: for ensuring functional and non-functional program and system requirements
221: Replacing trust by proof
222: Certifying compilation, proof-carrying code, translation validation
223: Verified compilers, verifying compilation for RESs
224: Making legacy applications fit to and available on RESs
225: Techniques for adjusting and decompiling legacy applications
226:
227: \subsubsection*{Collaboration with other PPs:}
228: %\emph{List the PPs you are expecting to collaborate with, and describe briefly
229: %the topic and nature of such a collaboration. (10-20 lines)}
230:
231: \begin{itemize}
232: \item PP Composition of Non-functional Requirements [I.S.T.A./Henzinger]:
233: Links to specification and modeling of timing properties, to execution
234: models, hardware and software models.
235: \item PP Composition and Predictability in RES Architectures
236: [E182/Puschner]: Links to hard- and software models for time
237: predictable systems, verification of timing behaviour.
238: \item PP Formal Verification for Robustness [E184/Veith]: Links to software
239: model checking and testing of code (on source code and intermediate
240: code levels), support for program analysis and transformation.
241: \item PP Modeling \& Analysis of Robust Distributed Systems [E182/Schmid]:
242: Links to functional and non-functional system requirements,
243: distribution, concurrency.
244: \end{itemize}
245:
246: \subsubsection*{External Collaborations:}
247: %\emph{List envisioned international and national collaborations, and
248: %describe briefly the topic and nature of such a collaboration. (5-10
249: %lines)}
250:
1.2 andi 251: Aviral Shrivastava, Arizona State University, Tempe, AZ, USA
252:
253: Wolf Zimmermann, Universit\"at Halle, Halle, Germany
1.1 andi 254:
255: \begin{comment}
256: %Bitte hier die Bibtex-Entries einfuellen, z.B.,
257:
258:
259: ------------------------------------
260:
261: @article{Hoare,
262: author = {Tony Hoare},
263: title = {The verifying compiler: A grand challenge for computing research},
264: journal = {Journal of the ACM},
265: volume = {50},
266: number = {1},
267: year = {2003},
268: issn = {0004-5411},
269: pages = {63--69},
270: doi = {http://doi.acm.org/10.1145/602382.602403},
271: publisher = {ACM},
272: address = {New York, NY, USA},
273: }
274:
275: @article{1328444,
276: author = {Jean-Baptiste Tristan and Xavier Leroy},
277: title = {Formal verification of translation validators: a case study on instruction scheduling optimizations},
278: journal = {SIGPLAN Not.},
279: volume = {43},
280: number = {1},
281: year = {2008},
282: issn = {0362-1340},
283: pages = {17--27},
284: doi = {http://doi.acm.org/10.1145/1328897.1328444},
285: publisher = {ACM},
286: address = {New York, NY, USA},
287: }
288:
289: @article{1314860,
290: author = {Jan Olaf Blech and Arnd Poetzsch-Heffter},
291: title = {A Certifying Code Generation Phase},
292: journal = {Electron. Notes Theor. Comput. Sci.},
293: volume = {190},
294: number = {4},
295: year = {2007},
296: issn = {1571-0661},
297: pages = {65--82},
298: doi = {http://dx.doi.org/10.1016/j.entcs.2007.09.008},
299: publisher = {Elsevier Science Publishers B. V.},
300: address = {Amsterdam, The Netherlands, The Netherlands},
301: }
302:
303: @INPROCEEDINGS{LeeShrivastava09,
304: TITLE = {A Compiler Optimization to Reduce Soft Errors in Register Files},
305: AUTHOR = {Jongeun Lee and Aviral Shrivastava},
306: BOOKTITLE = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
307: EDITOR = {Mahmut Kandemir},
308: PUBLISHER = {ACM},
309: PAGES = {??--??},
310: ADDRESS = {Dublin},
311: MONTH = {June},
312: YEAR = {2009},
313: }
314:
315: @BOOK{MishraDutt08,
316: TITLE = {Processor Description Languages},
317: AUTHOR = {Prabhat Mishra and Nikil Dutt (Editor)},
318: PUBLISHER = {Morgan Kaufmann},
319: YEAR = {2008},
320: }
321:
322:
323:
324: %Eigene Referenzen ab hier.
325:
326: @InProceedings{SchrSchoKn09,
327: TITLE = "Adding Timing-Awareness to {AUTOSAR} Basic-Software - A Component Based Approach",
328: AUTHOR = "Dietmar Schreiner and Markus Schordan and Jens Knoop",
329: BOOKTITLE = "12th IEEE International Symposium on Object/component/service-oriented
330: Real-time distributed Computing (ISORC 2009)",
331: PUBLISHER = "IEEE",
332: ADDRESS = "Tokyo, Japan",
333: YEAR = "2009",
334: MONTH = "March",
335: PAGES = "288--292",
336: }
337:
338: @inproceedings{Prantl:WLPE2008,
339: Address = {Udine, Italy},
340: Author = {Adrian Prantl and Jens Knoop and Markus Schordan and Markus Triska},
341: Booktitle = {The 18th Workshop on Logic-based methods in Programming Environments (WLPE 2008)},
342: Month = {December 12},
343: Title = {Constraint solving for high-level WCET analysis},
344: Year = {2008},
345: URL = {http://costa.tuwien.ac.at/papers/wlpe08.pdf}
346: }
347:
348: @InProceedings{prantl_et_al:DSP:2008:1661,
349: author = "Adrian Prantl and Markus Schordan and Jens Knoop",
350: title = "TuBound - {A} Conceptually New Tool for Worst-Case
351: Execution Time Analysis",
352: booktitle = "8th Intl. Workshop on Worst-Case Execution Time (WCET)
353: Analysis",
354: year = "2008",
355: editor = "Raimund Kirner",
356: publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
357: Germany",
358: address = "Dagstuhl, Germany",
359: URL = "http://drops.dagstuhl.de/opus/volltexte/2008/1661",
360: annote = "Keywords: Worst-case execution time (WCET) analysis,
361: Tool Chain, Flow Constraints, Source-To-Source",
362: ISBN = "978-3-939897-10-1",
363: note = "also published in print by Austrian Computer Society
364: (OCG) under ISBN 978-3-85403-237-3",
365: }
366:
367: @InProceedings{kirner_et_al:DSP:2008:1657,
368: author = "Raimund Kirner and Albrecht Kadlec and Adrian Prantl
369: and Markus Schordan and Jens Knoop",
370: title = "Towards a Common {WCET} Annotation Language: Essential
371: Ingredients",
372: booktitle = "8th Intl. Workshop on Worst-Case Execution Time (WCET)
373: Analysis",
374: year = "2008",
375: editor = "Raimund Kirner",
376: publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik,
377: Germany",
378: address = "Dagstuhl, Germany",
379: URL = "http://drops.dagstuhl.de/opus/volltexte/2008/1657",
380: annote = "Keywords: Worst-case execution time (WCET) analysis,
381: annotation languages, WCET annotation language
382: challenge",
383: ISBN = "978-3-939897-10-1",
384: note = "also published in print by Austrian Computer Society
385: (OCG) under ISBN 978-3-85403-237-3",
386: }
387:
388: @InProceedings{kirner_et_al:DSP:2007:1197,
389: author = "Raimund Kirner and Jens Knoop and Adrian Prantl and
390: Markus Schordan and Ingomar Wenzel",
391: title = "{WCET} Analysis: The Annotation Language Challenge",
392: booktitle = "7th Intl. Workshop on Worst-Case Execution Time (WCET)
393: Analysis",
394: year = "2007",
395: editor = "Christine Rochange",
396: publisher = "Internationales Begegnungs- und Forschungszentrum
397: f{"u}r Informatik (IBFI), Schloss Dagstuhl, Germany",
398: address = "Dagstuhl, Germany",
399: URL = "http://drops.dagstuhl.de/opus/volltexte/2007/1197",
400: annote = "Keywords: Worst-case execution time analysis, WCET,
401: path description, annotation language challenge,
402: expressiveness, convenience",
403: }
404:
405:
406: @InProceedings{knoop:DSP:2008:1575,
407: author = {Jens Knoop},
408: title = {Data-Flow Analysis for Multi-Core Computing Systems: A Reminder to Reverse Data-Flow Analysis},
409: booktitle = {Scalable Program Analysis},
410: year = {2008},
411: editor = {Florian Martin and Hanne Riis Nielson and Claudio Riva and Markus Schordan},
412: number = {08161},
413: series = {Dagstuhl Seminar Proceedings},
414: ISSN = {1862-4405},
415: publisher = {Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany},
416: address = {Dagstuhl, Germany},
417: URL = {http://drops.dagstuhl.de/opus/volltexte/2008/1575},
418: annote = {Keywords: Multi-core computing systems, scalable program analysis, reverse data-flow analysis, demand-driven data-flow analysis}
419: }
420:
421: @InProceedings{conf/cc/XueK06,
422: title = "A Fresh Look at {PRE} as a Maximum Flow Problem",
423: author = "Jingling Xue and Jens Knoop",
424: bibdate = "2006-04-05",
425: bibsource = "DBLP,
426: http://dblp.uni-trier.de/db/conf/cc/cc2006.html#XueK06",
427: booktitle = "CC",
428: booktitle = "Compiler Construction, 15th International Conference,
429: {CC} 2006, Held as Part of the Joint European
430: Conferences on Theory and Practice of Software, {ETAPS}
431: 2006, Vienna, Austria, March 30-31, 2006, Proceedings",
432: publisher = "Springer",
433: year = "2006",
434: volume = "3923",
435: editor = "Alan Mycroft and Andreas Zeller",
436: ISBN = "3-540-33050-X",
437: pages = "139--154",
438: series = "Lecture Notes in Computer Science",
439: URL = "http://dx.doi.org/10.1007/11688839_13",
440: }
441:
442: @InProceedings{scholz04,
443: author = "Bernhard Scholz and Nigel Horspool and Jens Knoop",
444: title = "Optimizing for space and time usage with speculative
445: partial redundancy elimination",
446: booktitle = "LCTES '04: Proceedings of the 2004 ACM SIGPLAN/SIGBED
447: conference on Languages, Compilers, and Tools for Embedded Systems",
448: year = "2004",
449: ISBN = "1-58113-806-7",
450: pages = "221--230",
451: location = "Washington, DC, USA",
452: publisher = "ACM Press",
453: }
454:
455: @InProceedings{HiKr03,
456: TITLE = "{VLIW} Operation Refinement for Reducing Energy Consumption",
457: AUTHOR = "Ulrich Hirnschrott and Andreas Krall",
458: BOOKTITLE = "International Symposium on System-on Chip",
459: PUBLISHER = "IEEE",
460: ADDRESS = "Tampere, Finland",
461: YEAR = "2003",
462: PAGES = "131--134",
463: }
464:
465: @Article{Krall+04micro,
466: author = {Andreas Krall and Ulrich Hirnschrott and Christian Panis and Ivan Pryanishnikov},
467: title = {x{DSP}core: {A} {C}ompiler-{B}ased {C}onfigureable {D}igital {S}ignal {P}rocessor},
468: journal = {IEEE Micro},
469: year = {2004},
470: OPTkey = {},
471: volume = {24},
472: number = {4},
473: pages = {67-78},
474: month = {July/August},
475: OPTnote = {},
476: OPTannote = {},
477: }
478:
479: @INPROCEEDINGS{FarKrStBrand06,
480: TITLE = {Effective Compiler Generation by Architecture Description},
481: AUTHOR = {Stefan Farfeleder and Andreas Krall and Edwin Steiner and Florian Brandner},
482: BOOKTITLE = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
483: EDITOR = {Koen De Bosschere},
484: PUBLISHER = {ACM},
485: PAGES = {145--152},
486: ADDRESS = {Ottawa},
487: MONTH = {June},
488: YEAR = {2006},
489: URL = {http://doi.acm.org/10.1145/1134650.1134671},
490: }
491:
492: @ARTICLE{PrKrHo06,
493: AUTHOR = {Ivan Pryanishnikov and Andreas Krall and Nigel Horspool},
494: TITLE = {Compiler Optimizations for Processors with {SIMD} Instructions},
495: JOURNAL = {Software---Practice and Experience},
496: PUBLISHER = {Wiley},
497: VOLUME = {37},
498: NUMBER = {1},
499: PAGES = {93--113},
500: YEAR = {2007},
501: URL = {http://www3.interscience.wiley.com/cgi-bin/fulltext/112783581/PDFSTART},
502: }
503:
504: @ARTICLE{FaKrHo07,
505: AUTHOR = {Stefan Farfeleder and Andreas Krall and Nigel Horspool},
506: TITLE = {Ultra Fast Cycle-Accurate Compiled Emulation of Inorder Pipelined Architectures},
507: JOURNAL = {Journal of Systems Architecture},
508: PUBLISHER = {Elsevier},
509: VOLUME = {53},
510: NUMBER = {8},
511: PAGES = {501--510},
512: YEAR = {2007},
513: }
514:
515: @INPROCEEDINGS{MeKr07,
516: TITLE = {Instruction Set Encoding Optimization for Code Size Reduction},
517: AUTHOR = {Michael Med and Andreas Krall},
518: BOOKTITLE = {International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation},
519: ADDRESS = {Samos, Greece},
520: PAGES = {9--17},
521: MONTH = {July},
522: YEAR = {2007}
523: }
524:
525: @INPROCEEDINGS{BrEbKr07,
526: TITLE = {Compiler Generation from Structural Architecture Descriptions},
527: AUTHOR = {Florian Brandner and Dietmar Ebner and Andreas Krall},
528: BOOKTITLE = {International Conference on Compilers, Architecture, and Synthesis for Embedded Systems},
529: ADDRESS = {Salzburg, Austria},
530: PAGES = {13--22},
531: MONTH = {September},
532: YEAR = {2007}
533: }
534:
535: @INPROCEEDINGS{EbBrSchKrWiKa08,
536: TITLE = {Generalized Instruction Selection using {SSA}-Graphs},
537: AUTHOR = {Dietmar Ebner and Florian Brandner and Bernhard Scholz and Andreas Krall and Peter Wiedermann and Albrecht Kadlec},
538: BOOKTITLE = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems},
539: EDITOR = {John Regehr},
540: PUBLISHER = {ACM},
541: PAGES = {31--40},
542: ADDRESS = {Tucson},
543: MONTH = {June},
544: YEAR = {2008},
545: }
546:
547: @INPROCEEDINGS{BrFeKrRi09,
548: TITLE = {Fast and Accurate Simulation using the LLVM Compiler Framework},
549: AUTHOR = {Florian Brandner and Andreas Fellnhofer and Andreas Krall and David Riegler},
550: BOOKTITLE = {Rapid Simulation and Performance Evaluation: Methods and Tools (RAPIDO'09)},
551: EDITOR = {Smail Niar, Rainer Leupers, Olivier Temam},
552: PUBLISHER = {HiPEAC},
553: PAGES = {1--6},
554: ADDRESS = {Paphos, Cyprus},
555: MONTH = {January},
556: YEAR = {2009},
557: }
558: \end{comment}
559:
560: \bibliography{res} % Input von res.bib, kommt dann spaeter dazu ...
561:
562: \end{document}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>