Initial commit
This commit is contained in:
commit
ea205440a6
278
.gitignore
vendored
Normal file
278
.gitignore
vendored
Normal file
@ -0,0 +1,278 @@
|
||||
|
||||
# Created by https://www.gitignore.io/api/latex
|
||||
# Edit at https://www.gitignore.io/?templates=latex
|
||||
|
||||
### LaTeX ###
|
||||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
*.cb
|
||||
*.cb2
|
||||
.*.lb
|
||||
|
||||
## Intermediate documents:
|
||||
*.dvi
|
||||
*.xdv
|
||||
*-converted-to.*
|
||||
# these rules might exclude image files for figures etc.
|
||||
# *.ps
|
||||
# *.eps
|
||||
# *.pdf
|
||||
|
||||
## Generated if empty string is given at "Please type another file name for output:"
|
||||
.pdf
|
||||
|
||||
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||
*.bbl
|
||||
*.bcf
|
||||
*.blg
|
||||
*-blx.aux
|
||||
*-blx.bib
|
||||
*.run.xml
|
||||
|
||||
## Build tool auxiliary files:
|
||||
*.fdb_latexmk
|
||||
*.synctex
|
||||
*.synctex(busy)
|
||||
*.synctex.gz
|
||||
*.synctex.gz(busy)
|
||||
*.pdfsync
|
||||
|
||||
## Build tool directories for auxiliary files
|
||||
# latexrun
|
||||
latex.out/
|
||||
|
||||
## Auxiliary and intermediate files from other packages:
|
||||
# algorithms
|
||||
*.alg
|
||||
*.loa
|
||||
|
||||
# achemso
|
||||
acs-*.bib
|
||||
|
||||
# amsthm
|
||||
*.thm
|
||||
|
||||
# beamer
|
||||
*.nav
|
||||
*.pre
|
||||
*.snm
|
||||
*.vrb
|
||||
|
||||
# changes
|
||||
*.soc
|
||||
|
||||
# comment
|
||||
*.cut
|
||||
|
||||
# cprotect
|
||||
*.cpt
|
||||
|
||||
# elsarticle (documentclass of Elsevier journals)
|
||||
*.spl
|
||||
|
||||
# endnotes
|
||||
*.ent
|
||||
|
||||
# fixme
|
||||
*.lox
|
||||
|
||||
# feynmf/feynmp
|
||||
*.mf
|
||||
*.mp
|
||||
*.t[1-9]
|
||||
*.t[1-9][0-9]
|
||||
*.tfm
|
||||
|
||||
#(r)(e)ledmac/(r)(e)ledpar
|
||||
*.end
|
||||
*.?end
|
||||
*.[1-9]
|
||||
*.[1-9][0-9]
|
||||
*.[1-9][0-9][0-9]
|
||||
*.[1-9]R
|
||||
*.[1-9][0-9]R
|
||||
*.[1-9][0-9][0-9]R
|
||||
*.eledsec[1-9]
|
||||
*.eledsec[1-9]R
|
||||
*.eledsec[1-9][0-9]
|
||||
*.eledsec[1-9][0-9]R
|
||||
*.eledsec[1-9][0-9][0-9]
|
||||
*.eledsec[1-9][0-9][0-9]R
|
||||
|
||||
# glossaries
|
||||
*.acn
|
||||
*.acr
|
||||
*.glg
|
||||
*.glo
|
||||
*.gls
|
||||
*.glsdefs
|
||||
|
||||
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
|
||||
# *.ist
|
||||
|
||||
# gnuplottex
|
||||
*-gnuplottex-*
|
||||
|
||||
# gregoriotex
|
||||
*.gaux
|
||||
*.gtex
|
||||
|
||||
# htlatex
|
||||
*.4ct
|
||||
*.4tc
|
||||
*.idv
|
||||
*.lg
|
||||
*.trc
|
||||
*.xref
|
||||
|
||||
# hyperref
|
||||
*.brf
|
||||
|
||||
# knitr
|
||||
*-concordance.tex
|
||||
# TODO Comment the next line if you want to keep your tikz graphics files
|
||||
*.tikz
|
||||
*-tikzDictionary
|
||||
|
||||
# listings
|
||||
*.lol
|
||||
|
||||
# luatexja-ruby
|
||||
*.ltjruby
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
|
||||
# minitoc
|
||||
*.maf
|
||||
*.mlf
|
||||
*.mlt
|
||||
*.mtc[0-9]*
|
||||
*.slf[0-9]*
|
||||
*.slt[0-9]*
|
||||
*.stc[0-9]*
|
||||
|
||||
# minted
|
||||
_minted*
|
||||
*.pyg
|
||||
|
||||
# morewrites
|
||||
*.mw
|
||||
|
||||
# nomencl
|
||||
*.nlg
|
||||
*.nlo
|
||||
*.nls
|
||||
|
||||
# pax
|
||||
*.pax
|
||||
|
||||
# pdfpcnotes
|
||||
*.pdfpc
|
||||
|
||||
# sagetex
|
||||
*.sagetex.sage
|
||||
*.sagetex.py
|
||||
*.sagetex.scmd
|
||||
|
||||
# scrwfile
|
||||
*.wrt
|
||||
|
||||
# sympy
|
||||
*.sout
|
||||
*.sympy
|
||||
sympy-plots-for-*.tex/
|
||||
|
||||
# pdfcomment
|
||||
*.upa
|
||||
*.upb
|
||||
|
||||
# pythontex
|
||||
*.pytxcode
|
||||
pythontex-files-*/
|
||||
|
||||
# tcolorbox
|
||||
*.listing
|
||||
|
||||
# thmtools
|
||||
*.loe
|
||||
|
||||
# TikZ & PGF
|
||||
*.dpth
|
||||
*.md5
|
||||
*.auxlock
|
||||
|
||||
# todonotes
|
||||
*.tdo
|
||||
|
||||
# vhistory
|
||||
*.hst
|
||||
*.ver
|
||||
|
||||
# easy-todo
|
||||
*.lod
|
||||
|
||||
# xcolor
|
||||
*.xcp
|
||||
|
||||
# xmpincl
|
||||
*.xmpi
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices
|
||||
*.xyc
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# LyX
|
||||
*.lyx~
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
||||
|
||||
# auto folder when using emacs and auctex
|
||||
./auto/*
|
||||
*.el
|
||||
|
||||
# expex forward references with \gathertags
|
||||
*-tags.tex
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
||||
|
||||
### LaTeX Patch ###
|
||||
# glossaries
|
||||
*.glstex
|
||||
|
||||
# End of https://www.gitignore.io/api/latex
|
||||
*.cyg
|
||||
*.ist
|
||||
*.syg
|
BIN
01paper.pdf
Normal file
BIN
01paper.pdf
Normal file
Binary file not shown.
129
01paper.tex
Normal file
129
01paper.tex
Normal file
@ -0,0 +1,129 @@
|
||||
\documentclass[conference]{IEEEtran}
|
||||
\IEEEoverridecommandlockouts{}
|
||||
% The preceding line is only needed to identify funding in the first footnote. If that is unneeded, please comment it out.
|
||||
\usepackage{cite}
|
||||
\usepackage{amsmath,amssymb,amsfonts}
|
||||
\usepackage{algorithmic}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{xcolor}
|
||||
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
|
||||
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
|
||||
|
||||
%additional packages
|
||||
%\usepackage[ngerman]{babel}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{url}
|
||||
%%fuer abkuerzungen begin
|
||||
\usepackage[acronym,hyperfirst = false]{glossaries}
|
||||
\glsdisablehyper{}
|
||||
%\usepackage[acronym,acronymlists={main, abbreviationlist},shortcuts,toc,description,footnote]{glossaries}
|
||||
\newglossary[clg]{abbreviationlist}{cyi}{cyg}{List of Abbreviations}
|
||||
\newglossary[slg]{symbolslist}{syi}{syg}{Symbols}
|
||||
\renewcommand{\firstacronymfont}[1]{\emph{#1}}
|
||||
\renewcommand*{\glspostdescription}{} % Punkt am Ende jeder Beschreibung entfernen
|
||||
\renewcommand*{\acrnameformat}[2]{#2 (\acronymfont{#1})} % Langform der Akronyme
|
||||
\makeglossaries{}
|
||||
\date{\today}
|
||||
\input{glossary}
|
||||
%%fuer abkuerzungen end
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\title{Paper Title *TODO edit*}
|
||||
|
||||
\author{\IEEEauthorblockN{1\textsuperscript{st} Given Valentin Brandl}
|
||||
\IEEEauthorblockA{\textit{Faculity of Computer Science and Mathematics} \\
|
||||
\textit{OTH Regensburg}\\
|
||||
Regensburg, Germany \\
|
||||
valentin.brandl@st.oth-regensburg.de\\
|
||||
MatrNr. 3220018}
|
||||
}
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
TODO
|
||||
\end{abstract}
|
||||
|
||||
\begin{IEEEkeywords}
|
||||
Buffer Overflow, Software Security
|
||||
\end{IEEEkeywords}
|
||||
|
||||
|
||||
|
||||
\section{Motivation}\label{ref:motivation}
|
||||
|
||||
When the first programming languages were designed, memory had to be managed
|
||||
manually to make the best use of slow hardware. This opened the door for many
|
||||
kinds of programming errors. Memory can be deallocated more than once
|
||||
(double-free), the programm could read or write out of bounds of a buffer
|
||||
(information leaks, buffer overflows). Languages that are affected by this are
|
||||
e.g. C, C++ and Fortran. These languages are still used in critical parts of
|
||||
the worlds infrastructure, either because they allow to implement really
|
||||
performant programms, because they power legacy systems or for portability
|
||||
reasons. Scientists and software engineers have proposed lots of solutions to
|
||||
this problem over the years and this paper aims to compare and give an overview
|
||||
about those.
|
||||
|
||||
Reading out of bounds can result in an information leak and is less critical
|
||||
than buffer overflows in most cases, but there are exceptions, e.g.\ the
|
||||
Heartbleed bug in OpenSSL which allowed dumping secret keys from memory. Out of
|
||||
bounds writes are almost always critical and result in code execution
|
||||
vulnerabilities or at least application crashes.
|
||||
|
||||
% Ever since the first programming languages were designed, security has been a
|
||||
% concern of software developers. With more advanced programming languages, that
|
||||
% did automatic memory management, some classes of errors were fixed. But
|
||||
% languages with unsafe, manual memory management are still in use and power
|
||||
% critical parts of the worlds infrastructure.
|
||||
|
||||
\section{Sources}
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item RAD:\ A Compile-Time Solution to Buffer Overflow Attacks\cite{Rad2001}
|
||||
(might not protect against e.g.\ vtable overrides, PLT address changes,
|
||||
\dots)
|
||||
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\section{Main Part, TODO}\label{ref:main} %TODO!!!!
|
||||
|
||||
\subsection{Background}\label{ref:background}
|
||||
|
||||
text
|
||||
|
||||
\subsection{Concept and Methods}\label{ref:concept}
|
||||
|
||||
\begin{itemize}
|
||||
\item Runtime bounds checks
|
||||
|
||||
\item Prevent overriding return address
|
||||
|
||||
\item Restricting language features to a secure subset
|
||||
|
||||
\item Static analysis
|
||||
|
||||
\item Dependent types (only allow indexing with values that are provably in
|
||||
bounds)
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Discussion}\label{ref:discussion}
|
||||
|
||||
text
|
||||
|
||||
\section{Concusion and Outlook}\label{ref:conclusion}
|
||||
|
||||
text
|
||||
|
||||
|
||||
\bibliographystyle{IEEEtran}
|
||||
\bibliography{bibliography}
|
||||
|
||||
\end{document}
|
||||
% vim: set filetype=tex ts=2 sw=2 tw=80 et spell :
|
6347
IEEEtran.cls
Normal file
6347
IEEEtran.cls
Normal file
File diff suppressed because it is too large
Load Diff
65
bibliography.bib
Normal file
65
bibliography.bib
Normal file
@ -0,0 +1,65 @@
|
||||
@inproceedings{Rad2001,
|
||||
author = {Chiueh, Tzi-cker and Hsu, Fu-Hau},
|
||||
booktitle = {Proceedings 21st International Conference on Distributed Computing Systems},
|
||||
title = {{RAD: A Compile-Time Solution to Buffer Overflow Attacks}},
|
||||
year = {2001}
|
||||
}
|
||||
|
||||
@article{Laprie2004,
|
||||
author = {Avizienis, Algirdas and Laprie, Jean-Claude and Randell, Brian and Landwehr, Carl},
|
||||
journal = {IEEE Transactions on Dependable and Secure Computing},
|
||||
title = {{Basic Concepts and Taxonomy of Dependable and Secure Computing}},
|
||||
year = {2004}
|
||||
}
|
||||
|
||||
@inproceedings{Agrou2011,
|
||||
author = {Agrou, Hicham and Sainrat, Pascal and Gatti, Marc and Faura, David and Toillon, Patrice},
|
||||
booktitle = {Digital Avionics Systems Conference (DASC)},
|
||||
title = {{A Design Approach for Predictable and Efficient Multi-Core Processor for Avionics}},
|
||||
year = {2011}
|
||||
}
|
||||
|
||||
@misc{Grisenthwaite2012,
|
||||
author = {Grisenthwaite, Richard Roy and Jebson, Anthony and Rose, Andrew Christopher and Evans, Matthew Lucien},
|
||||
institution = {ARM},
|
||||
title = {{Communication of Message Signalled Interrupts (US20140122760)}},
|
||||
url = {http://www.google.com/patents/US20140122760},
|
||||
year = {2012}
|
||||
}
|
||||
|
||||
@misc{ARINC2005,
|
||||
author = {ARINC},
|
||||
title = {{ARINC Specification 664P7 - Aircraft Data Network Part 7 Avionics Full Duplex Switched Ethernet (AFDX) Network}},
|
||||
year = {2005}
|
||||
}
|
||||
|
||||
@book{Kopetz2011,
|
||||
address = {New York},
|
||||
author = {Kopetz, Hermann},
|
||||
publisher = {Springer},
|
||||
title = {{Real Time Systems}},
|
||||
year = {2011}
|
||||
}
|
||||
|
||||
@misc{Freescale2015,
|
||||
author = {Freescale},
|
||||
title = {{QorIQ LS2045A and LS2085A Communications Processors (Rev. 2)}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@techreport{Aswadhati2011,
|
||||
author = {Aswadhati, Ajoy},
|
||||
institution = {PCI-SIG},
|
||||
title = {{Scaling Data Center Interconnects with PCI Express}},
|
||||
url = {http://www.pcisig.com/developers/main/training\_materials/get\_document?doc\_id=415a477bf2725a554d7903f9d8d499daa3e8e4bb},
|
||||
year = {2011}
|
||||
}
|
||||
|
||||
@ONLINE{Xil2010,
|
||||
author={Xilinx},
|
||||
title={{System Generator works very slow. Why?}},
|
||||
year = {2010},
|
||||
url={http://forums.xilinx.com/t5/DSP-Tools/System-Generator-works-very-slow-Why/td-p/21140/page/2
|
||||
}}
|
||||
|
||||
|
7
build.sh
Executable file
7
build.sh
Executable file
@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
while inotifywait -e modify .
|
||||
do
|
||||
latexmk -pdf 01paper.tex
|
||||
# ./make.sh
|
||||
done
|
BIN
figures/gamefield01.png
Normal file
BIN
figures/gamefield01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
figures/gamefield02.png
Normal file
BIN
figures/gamefield02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
46
glossary.tex
Normal file
46
glossary.tex
Normal file
@ -0,0 +1,46 @@
|
||||
\newacronym[description={Interface provided by an application or software to be able to implement other programs that uses the software as foundation.}]{API}{API}{Application Programming Interface}
|
||||
|
||||
\newacronym[description={In German ``Bundesministerium f\"ur Bildung und Forschung'' is a federal ministry among other things responsible for research projects and the education inside of Germany.}]{BMBF}{BMBF}{Federal Ministry of Education and Research}
|
||||
|
||||
\newacronym[description={Hardware component which allows external devices to transfer data directly into or from the memory without using the processor.}]{DMA}{DMA}{Direct Memory Access}
|
||||
|
||||
\newacronym[description={Method for storing a number of data items inside of a buffer. Elements which have been stored first will be read first as well.}]{FIFO}{FIFO}{First In, First Out}
|
||||
|
||||
\newacronym{FM}{FM}{Frequency Modulation}
|
||||
|
||||
\newacronym[description={Stateful network protocol for transfering files from one system to an other system in ``plaintext'' format. FTP requires a reliable, error correcting base protocol like the \gls{TCP}. Besides the ability to read and write files to/from a host, the FTP provides further functionalities like user authorization, directory listing, renaming, or alteration of file access permissions.}]{FTP}{FTP}{File Transfer Protocol}
|
||||
|
||||
\newacronym[description={Stateless network protocol built on top of a reliable transport protocol like \gls{TCP} for transfering data from one host to another one. HTTP is the mainly used protocol for web browser interactions with a web server.}]{HTTP}{HTTP}{Hypertext Transfer Protocol}
|
||||
|
||||
\newacronym[description={International council responsible for the development and administration of norms in the area of electrical engineering and electronics. Some standards are developed together with the \gls{ISO}.}]{IEC}{IEC}{International Electrotechnical Commission}
|
||||
|
||||
\newacronym[description={Primary used communication protocol (in the Internet) for transmitting data packets (or datagrams) from one system to another one. This protocol is located on the Internet layer of the \gls{OSI} and can be split into the older version IPv4 and the newer one IPv6 that allows to address more devices. (cf.\,\cite{Tanenbaum2003})}]{IP}{IP}{Internet Protocol}
|
||||
|
||||
\newacronym[description={Set of methods for exchanging data between various threads within a system. In this thesis the term does not include the communication between various physical devices connected via a network to each other.}]{IPC}{IPC}{Inter--Process Communication}
|
||||
|
||||
\newacronym[description={International council responsible for the development and administration of norms except in the scope of electrical engineering and electronics. Responsible for these areas is the \gls{IEC}.}]{ISO}{ISO}{International Organization for Standardization}
|
||||
|
||||
\newacronym[description={Short function or method that is called as soon as a (specific) interrupt hits the processor core.}]{ISR}{ISR}{Interrupt Service Routine}
|
||||
|
||||
\newacronym[description={\ldots}]{MISD}{MISD}{Multi Instruction, Single Data}
|
||||
|
||||
\newacronym[description={\ldots}]{MIMD}{MIMD}{Multi Instruction, Multiple Data}
|
||||
|
||||
\newacronym[description={The OSI is a design model describing the network stack in seven layers: 1. Physical Layer, 2. Data Link Layer, 3. Network Layer, 4. Transport Layer, 5. Session Layer, 6. Presentation Layer, and 7. Application Layer (sorted from lowest to highest). (cf.\,\cite{Tanenbaum2003}))}]{OSI}{OSI}{Open Systems Interconnection Reference Model}
|
||||
|
||||
\newacronym[description={Processor design strategy based on the usage of a little amount of simplified instructions to improve execution performance.}]{RISC}{RISC}{Reduced Instruction Set Computer/Computing}
|
||||
|
||||
\newacronym[description={\ldots}]{SISD}{SISD}{Single Instruction, Single Data}
|
||||
|
||||
\newacronym[description={\ldots}]{SIMD}{SIMD}{Single Instruction, Multiple Data}
|
||||
|
||||
\newacronym[description={Communication protocol located on the transport layer of the \gls{OSI} that provides a reliable transfer of network packets, i.e. ordered delivery of a byte stream from one program to another one. The connection between both communication partners is built by a handshaking mechanism. In TCP each received packet is receipted by the recipient. (cf.\,\cite{Tanenbaum2003})}]{TCP}{TCP}{Transmission Control Protocol}
|
||||
|
||||
\newacronym[description={Rudimentary version of \gls{FTP} that is built on top of \gls{UDP}. The TFTP implements just the basics of file transfer like read and write. User authorization or directory listing is not provided. Because the protocol is built on top of an unreliable transport protocol a simple packet acknowledgment and checksum verification is used for error correction.}]{TFTP}{TFTP}{Trivial File Transfer Protocol}
|
||||
|
||||
\newacronym[description={Communication protocol located on the transport layer of the \gls{OSI} that provides a simple transmission model for packets without the overhead introduced by mechanisms for providing reliability, ordering, or data integrity, like handshaking dialogues. In \gls{UDP} the error detection and error correction is outsourced to higher layers like the application itself. Thus it is assumed that errors either have no influence for successfully processing the use--cases, or the correction is implemented inside of the application's using protocols. (cf.\,\cite{Tanenbaum2003})}]{UDP}{UDP}{User Datagram Protocol}
|
||||
|
||||
\newacronym[description={\ldots}]{WCET}{WCET}{Worst Case Execution Time}
|
||||
|
||||
\newacronym[description={Text--based data format for application independent and platform independent exchange of information.}]{XML}{XML}{Extensible Markup Language}
|
||||
|
22
make.bat
Normal file
22
make.bat
Normal file
@ -0,0 +1,22 @@
|
||||
del 01paper.pdf
|
||||
|
||||
set tmp=%TEMP%\ma
|
||||
set tmp=tmp
|
||||
|
||||
mkdir %tmp%
|
||||
|
||||
makeindex %tmp%\1paper.nlo -s 1nomencl.ist -o %tmp%\01paper.nls
|
||||
|
||||
makeindex -s %tmp%\01paper.ist -t %tmp%\01paper.slg -o %tmp%\01paper.syi %tmp%\01paper.syg
|
||||
makeindex -s %tmp%\01paper.ist -t %tmp%\01paper.clg -o %tmp%\01paper.cyi %tmp%\01paper.cyg
|
||||
makeindex -s %tmp%\01paper.ist -t %tmp%\01paper.alg -o %tmp%\01paper.acr %tmp%\01paper.acn
|
||||
makeindex -s %tmp%\01paper.ist -t %tmp%\01paper.glg -o %tmp%\01paper.gls %tmp%\01paper.glo
|
||||
makeindex -s %tmp%\01paper.ist -o %tmp%\01paper.ind %tmp%\01paper.idx
|
||||
|
||||
pdflatex -aux-directory=%tmp% 01paper.tex
|
||||
|
||||
bibtex %tmp%\01paper.aux
|
||||
|
||||
pdflatex -aux-directory=%tmp% 01paper.tex
|
||||
|
||||
pdflatex -aux-directory=%tmp% 01paper.tex
|
32
make.sh
Executable file
32
make.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# set -e
|
||||
|
||||
# tmp="$(mktemp -d)"
|
||||
tmp="."
|
||||
|
||||
# trap cleanup 1 2 3 6
|
||||
|
||||
# cleanup() {
|
||||
# # rm -rf "${tmp}"
|
||||
# }
|
||||
|
||||
rm -f 01paper.pdf
|
||||
|
||||
makeindex "${tmp}/1paper.nlo" -s 1nomencl.ist -o "${tmp}/01paper.nls"
|
||||
|
||||
makeindex -s "${tmp}/01paper.ist" -t "${tmp}/01paper.slg" -o "${tmp}/01paper.syi" "${tmp}/01paper.syg"
|
||||
makeindex -s "${tmp}/01paper.ist" -t "${tmp}/01paper.clg" -o "${tmp}/01paper.cyi" "${tmp}/01paper.cyg"
|
||||
makeindex -s "${tmp}/01paper.ist" -t "${tmp}/01paper.alg" -o "${tmp}/01paper.acr" "${tmp}/01paper.acn"
|
||||
makeindex -s "${tmp}/01paper.ist" -t "${tmp}/01paper.glg" -o "${tmp}/01paper.gls" "${tmp}/01paper.glo"
|
||||
makeindex -s "${tmp}/01paper.ist" -o "${tmp}/01paper.ind" "${tmp}/01paper.idx"
|
||||
|
||||
pdflatex -aux-directory="${tmp}" 01paper.tex
|
||||
|
||||
bibtex "${tmp}\01paper.aux"
|
||||
|
||||
pdflatex -aux-directory="${tmp}" 01paper.tex
|
||||
|
||||
pdflatex -aux-directory="${tmp}" 01paper.tex
|
||||
|
||||
# cleanup
|
BIN
zieeebackground/01paper.pdf
Normal file
BIN
zieeebackground/01paper.pdf
Normal file
Binary file not shown.
288
zieeebackground/01paper.tex
Normal file
288
zieeebackground/01paper.tex
Normal file
@ -0,0 +1,288 @@
|
||||
\documentclass[conference]{IEEEtran}
|
||||
\IEEEoverridecommandlockouts
|
||||
% The preceding line is only needed to identify funding in the first footnote. If that is unneeded, please comment it out.
|
||||
\usepackage{cite}
|
||||
\usepackage{amsmath,amssymb,amsfonts}
|
||||
\usepackage{algorithmic}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{xcolor}
|
||||
\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
|
||||
T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
|
||||
\begin{document}
|
||||
|
||||
\title{Paper Title*\\
|
||||
{\footnotesize \textsuperscript{*}Note: Sub-titles are not captured in Xplore and
|
||||
should not be used}
|
||||
\thanks{Identify applicable funding agency here. If none, delete this.}
|
||||
}
|
||||
|
||||
\author{\IEEEauthorblockN{1\textsuperscript{st} Given Name Surname}
|
||||
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
|
||||
\textit{name of organization (of Aff.)}\\
|
||||
City, Country \\
|
||||
email address}
|
||||
\and
|
||||
\IEEEauthorblockN{2\textsuperscript{nd} Given Name Surname}
|
||||
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
|
||||
\textit{name of organization (of Aff.)}\\
|
||||
City, Country \\
|
||||
email address}
|
||||
\and
|
||||
\IEEEauthorblockN{3\textsuperscript{rd} Given Name Surname}
|
||||
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
|
||||
\textit{name of organization (of Aff.)}\\
|
||||
City, Country \\
|
||||
email address}
|
||||
\and
|
||||
\IEEEauthorblockN{4\textsuperscript{th} Given Name Surname}
|
||||
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
|
||||
\textit{name of organization (of Aff.)}\\
|
||||
City, Country \\
|
||||
email address}
|
||||
\and
|
||||
\IEEEauthorblockN{5\textsuperscript{th} Given Name Surname}
|
||||
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
|
||||
\textit{name of organization (of Aff.)}\\
|
||||
City, Country \\
|
||||
email address}
|
||||
\and
|
||||
\IEEEauthorblockN{6\textsuperscript{th} Given Name Surname}
|
||||
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
|
||||
\textit{name of organization (of Aff.)}\\
|
||||
City, Country \\
|
||||
email address}
|
||||
}
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
This document is a model and instructions for \LaTeX.
|
||||
This and the IEEEtran.cls file define the components of your paper [title, text, heads, etc.]. *CRITICAL: Do Not Use Symbols, Special Characters, Footnotes,
|
||||
or Math in Paper Title or Abstract.
|
||||
\end{abstract}
|
||||
|
||||
\begin{IEEEkeywords}
|
||||
component, formatting, style, styling, insert
|
||||
\end{IEEEkeywords}
|
||||
|
||||
\section{Introduction}
|
||||
This document is a model and instructions for \LaTeX.
|
||||
Please observe the conference page limits.
|
||||
|
||||
\section{Ease of Use}
|
||||
|
||||
\subsection{Maintaining the Integrity of the Specifications}
|
||||
|
||||
The IEEEtran class file is used to format your paper and style the text. All margins,
|
||||
column widths, line spaces, and text fonts are prescribed; please do not
|
||||
alter them. You may note peculiarities. For example, the head margin
|
||||
measures proportionately more than is customary. This measurement
|
||||
and others are deliberate, using specifications that anticipate your paper
|
||||
as one part of the entire proceedings, and not as an independent document.
|
||||
Please do not revise any of the current designations.
|
||||
|
||||
\section{Prepare Your Paper Before Styling}
|
||||
Before you begin to format your paper, first write and save the content as a
|
||||
separate text file. Complete all content and organizational editing before
|
||||
formatting. Please note sections \ref{AA}--\ref{SCM} below for more information on
|
||||
proofreading, spelling and grammar.
|
||||
|
||||
Keep your text and graphic files separate until after the text has been
|
||||
formatted and styled. Do not number text heads---{\LaTeX} will do that
|
||||
for you.
|
||||
|
||||
\subsection{Abbreviations and Acronyms}\label{AA}
|
||||
Define abbreviations and acronyms the first time they are used in the text,
|
||||
even after they have been defined in the abstract. Abbreviations such as
|
||||
IEEE, SI, MKS, CGS, ac, dc, and rms do not have to be defined. Do not use
|
||||
abbreviations in the title or heads unless they are unavoidable.
|
||||
|
||||
\subsection{Units}
|
||||
\begin{itemize}
|
||||
\item Use either SI (MKS) or CGS as primary units. (SI units are encouraged.) English units may be used as secondary units (in parentheses). An exception would be the use of English units as identifiers in trade, such as ``3.5-inch disk drive''.
|
||||
\item Avoid combining SI and CGS units, such as current in amperes and magnetic field in oersteds. This often leads to confusion because equations do not balance dimensionally. If you must use mixed units, clearly state the units for each quantity that you use in an equation.
|
||||
\item Do not mix complete spellings and abbreviations of units: ``Wb/m\textsuperscript{2}'' or ``webers per square meter'', not ``webers/m\textsuperscript{2}''. Spell out units when they appear in text: ``. . . a few henries'', not ``. . . a few H''.
|
||||
\item Use a zero before decimal points: ``0.25'', not ``.25''. Use ``cm\textsuperscript{3}'', not ``cc''.)
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Equations}
|
||||
Number equations consecutively. To make your
|
||||
equations more compact, you may use the solidus (~/~), the exp function, or
|
||||
appropriate exponents. Italicize Roman symbols for quantities and variables,
|
||||
but not Greek symbols. Use a long dash rather than a hyphen for a minus
|
||||
sign. Punctuate equations with commas or periods when they are part of a
|
||||
sentence, as in:
|
||||
\begin{equation}
|
||||
a+b=\gamma\label{eq}
|
||||
\end{equation}
|
||||
|
||||
Be sure that the
|
||||
symbols in your equation have been defined before or immediately following
|
||||
the equation. Use ``\eqref{eq}'', not ``Eq.~\eqref{eq}'' or ``equation \eqref{eq}'', except at
|
||||
the beginning of a sentence: ``Equation \eqref{eq} is . . .''
|
||||
|
||||
\subsection{\LaTeX-Specific Advice}
|
||||
|
||||
Please use ``soft'' (e.g., \verb|\eqref{Eq}|) cross references instead
|
||||
of ``hard'' references (e.g., \verb|(1)|). That will make it possible
|
||||
to combine sections, add equations, or change the order of figures or
|
||||
citations without having to go through the file line by line.
|
||||
|
||||
Please don't use the \verb|{eqnarray}| equation environment. Use
|
||||
\verb|{align}| or \verb|{IEEEeqnarray}| instead. The \verb|{eqnarray}|
|
||||
environment leaves unsightly spaces around relation symbols.
|
||||
|
||||
Please note that the \verb|{subequations}| environment in {\LaTeX}
|
||||
will increment the main equation counter even when there are no
|
||||
equation numbers displayed. If you forget that, you might write an
|
||||
article in which the equation numbers skip from (17) to (20), causing
|
||||
the copy editors to wonder if you've discovered a new method of
|
||||
counting.
|
||||
|
||||
{\BibTeX} does not work by magic. It doesn't get the bibliographic
|
||||
data from thin air but from .bib files. If you use {\BibTeX} to produce a
|
||||
bibliography you must send the .bib files.
|
||||
|
||||
{\LaTeX} can't read your mind. If you assign the same label to a
|
||||
subsubsection and a table, you might find that Table I has been cross
|
||||
referenced as Table IV-B3.
|
||||
|
||||
{\LaTeX} does not have precognitive abilities. If you put a
|
||||
\verb|\label| command before the command that updates the counter it's
|
||||
supposed to be using, the label will pick up the last counter to be
|
||||
cross referenced instead. In particular, a \verb|\label| command
|
||||
should not go before the caption of a figure or a table.
|
||||
|
||||
Do not use \verb|\nonumber| inside the \verb|{array}| environment. It
|
||||
will not stop equation numbers inside \verb|{array}| (there won't be
|
||||
any anyway) and it might stop a wanted equation number in the
|
||||
surrounding equation.
|
||||
|
||||
\subsection{Some Common Mistakes}\label{SCM}
|
||||
\begin{itemize}
|
||||
\item The word ``data'' is plural, not singular.
|
||||
\item The subscript for the permeability of vacuum $\mu_{0}$, and other common scientific constants, is zero with subscript formatting, not a lowercase letter ``o''.
|
||||
\item In American English, commas, semicolons, periods, question and exclamation marks are located within quotation marks only when a complete thought or name is cited, such as a title or full quotation. When quotation marks are used, instead of a bold or italic typeface, to highlight a word or phrase, punctuation should appear outside of the quotation marks. A parenthetical phrase or statement at the end of a sentence is punctuated outside of the closing parenthesis (like this). (A parenthetical sentence is punctuated within the parentheses.)
|
||||
\item A graph within a graph is an ``inset'', not an ``insert''. The word alternatively is preferred to the word ``alternately'' (unless you really mean something that alternates).
|
||||
\item Do not use the word ``essentially'' to mean ``approximately'' or ``effectively''.
|
||||
\item In your paper title, if the words ``that uses'' can accurately replace the word ``using'', capitalize the ``u''; if not, keep using lower-cased.
|
||||
\item Be aware of the different meanings of the homophones ``affect'' and ``effect'', ``complement'' and ``compliment'', ``discreet'' and ``discrete'', ``principal'' and ``principle''.
|
||||
\item Do not confuse ``imply'' and ``infer''.
|
||||
\item The prefix ``non'' is not a word; it should be joined to the word it modifies, usually without a hyphen.
|
||||
\item There is no period after the ``et'' in the Latin abbreviation ``et al.''.
|
||||
\item The abbreviation ``i.e.'' means ``that is'', and the abbreviation ``e.g.'' means ``for example''.
|
||||
\end{itemize}
|
||||
An excellent style manual for science writers is \cite{b7}.
|
||||
|
||||
\subsection{Authors and Affiliations}
|
||||
\textbf{The class file is designed for, but not limited to, six authors.} A
|
||||
minimum of one author is required for all conference articles. Author names
|
||||
should be listed starting from left to right and then moving down to the
|
||||
next line. This is the author sequence that will be used in future citations
|
||||
and by indexing services. Names should not be listed in columns nor group by
|
||||
affiliation. Please keep your affiliations as succinct as possible (for
|
||||
example, do not differentiate among departments of the same organization).
|
||||
|
||||
\subsection{Identify the Headings}
|
||||
Headings, or heads, are organizational devices that guide the reader through
|
||||
your paper. There are two types: component heads and text heads.
|
||||
|
||||
Component heads identify the different components of your paper and are not
|
||||
topically subordinate to each other. Examples include Acknowledgments and
|
||||
References and, for these, the correct style to use is ``Heading 5''. Use
|
||||
``figure caption'' for your Figure captions, and ``table head'' for your
|
||||
table title. Run-in heads, such as ``Abstract'', will require you to apply a
|
||||
style (in this case, italic) in addition to the style provided by the drop
|
||||
down menu to differentiate the head from the text.
|
||||
|
||||
Text heads organize the topics on a relational, hierarchical basis. For
|
||||
example, the paper title is the primary text head because all subsequent
|
||||
material relates and elaborates on this one topic. If there are two or more
|
||||
sub-topics, the next level head (uppercase Roman numerals) should be used
|
||||
and, conversely, if there are not at least two sub-topics, then no subheads
|
||||
should be introduced.
|
||||
|
||||
\subsection{Figures and Tables}
|
||||
\paragraph{Positioning Figures and Tables} Place figures and tables at the top and
|
||||
bottom of columns. Avoid placing them in the middle of columns. Large
|
||||
figures and tables may span across both columns. Figure captions should be
|
||||
below the figures; table heads should appear above the tables. Insert
|
||||
figures and tables after they are cited in the text. Use the abbreviation
|
||||
``Fig.~\ref{fig}'', even at the beginning of a sentence.
|
||||
|
||||
\begin{table}[htbp]
|
||||
\caption{Table Type Styles}
|
||||
\begin{center}
|
||||
\begin{tabular}{|c|c|c|c|}
|
||||
\hline
|
||||
\textbf{Table}&\multicolumn{3}{|c|}{\textbf{Table Column Head}} \\
|
||||
\cline{2-4}
|
||||
\textbf{Head} & \textbf{\textit{Table column subhead}}& \textbf{\textit{Subhead}}& \textbf{\textit{Subhead}} \\
|
||||
\hline
|
||||
copy& More table copy$^{\mathrm{a}}$& & \\
|
||||
\hline
|
||||
\multicolumn{4}{l}{$^{\mathrm{a}}$Sample of a Table footnote.}
|
||||
\end{tabular}
|
||||
\label{tab1}
|
||||
\end{center}
|
||||
\end{table}
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centerline{\includegraphics{fig1.png}}
|
||||
\caption{Example of a figure caption.}
|
||||
\label{fig}
|
||||
\end{figure}
|
||||
|
||||
Figure Labels: Use 8 point Times New Roman for Figure labels. Use words
|
||||
rather than symbols or abbreviations when writing Figure axis labels to
|
||||
avoid confusing the reader. As an example, write the quantity
|
||||
``Magnetization'', or ``Magnetization, M'', not just ``M''. If including
|
||||
units in the label, present them within parentheses. Do not label axes only
|
||||
with units. In the example, write ``Magnetization (A/m)'' or ``Magnetization
|
||||
\{A[m(1)]\}'', not just ``A/m''. Do not label axes with a ratio of
|
||||
quantities and units. For example, write ``Temperature (K)'', not
|
||||
``Temperature/K''.
|
||||
|
||||
\section*{Acknowledgment}
|
||||
|
||||
The preferred spelling of the word ``acknowledgment'' in America is without
|
||||
an ``e'' after the ``g''. Avoid the stilted expression ``one of us (R. B.
|
||||
G.) thanks $\ldots$''. Instead, try ``R. B. G. thanks$\ldots$''. Put sponsor
|
||||
acknowledgments in the unnumbered footnote on the first page.
|
||||
|
||||
\section*{References}
|
||||
|
||||
Please number citations consecutively within brackets \cite{b1}. The
|
||||
sentence punctuation follows the bracket \cite{b2}. Refer simply to the reference
|
||||
number, as in \cite{b3}---do not use ``Ref. \cite{b3}'' or ``reference \cite{b3}'' except at
|
||||
the beginning of a sentence: ``Reference \cite{b3} was the first $\ldots$''
|
||||
|
||||
Number footnotes separately in superscripts. Place the actual footnote at
|
||||
the bottom of the column in which it was cited. Do not put footnotes in the
|
||||
abstract or reference list. Use letters for table footnotes.
|
||||
|
||||
Unless there are six authors or more give all authors' names; do not use
|
||||
``et al.''. Papers that have not been published, even if they have been
|
||||
submitted for publication, should be cited as ``unpublished'' \cite{b4}. Papers
|
||||
that have been accepted for publication should be cited as ``in press'' \cite{b5}.
|
||||
Capitalize only the first word in a paper title, except for proper nouns and
|
||||
element symbols.
|
||||
|
||||
For papers published in translation journals, please give the English
|
||||
citation first, followed by the original foreign-language citation \cite{b6}.
|
||||
|
||||
\begin{thebibliography}{00}
|
||||
\bibitem{b1} G. Eason, B. Noble, and I. N. Sneddon, ``On certain integrals of Lipschitz-Hankel type involving products of Bessel functions,'' Phil. Trans. Roy. Soc. London, vol. A247, pp. 529--551, April 1955.
|
||||
\bibitem{b2} J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.68--73.
|
||||
\bibitem{b3} I. S. Jacobs and C. P. Bean, ``Fine particles, thin films and exchange anisotropy,'' in Magnetism, vol. III, G. T. Rado and H. Suhl, Eds. New York: Academic, 1963, pp. 271--350.
|
||||
\bibitem{b4} K. Elissa, ``Title of paper if known,'' unpublished.
|
||||
\bibitem{b5} R. Nicole, ``Title of paper with only first word capitalized,'' J. Name Stand. Abbrev., in press.
|
||||
\bibitem{b6} Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, ``Electron spectroscopy studies on magneto-optical media and plastic substrate interface,'' IEEE Transl. J. Magn. Japan, vol. 2, pp. 740--741, August 1987 [Digests 9th Annual Conf. Magnetics Japan, p. 301, 1982].
|
||||
\bibitem{b7} M. Young, The Technical Writer's Handbook. Mill Valley, CA: University Science, 1989.
|
||||
\end{thebibliography}
|
||||
\vspace{12pt}
|
||||
\color{red}
|
||||
IEEE conference templates contain guidance text for composing and formatting conference papers. Please ensure that all template text is removed from your conference paper prior to submission to the conference. Failure to remove the template text from your paper may result in your paper not being published.
|
||||
|
||||
\end{document}
|
BIN
zieeebackground/IEEEtran_HOWTO.pdf
Normal file
BIN
zieeebackground/IEEEtran_HOWTO.pdf
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user