Initial commit

This commit is contained in:
Valentin Brandl 2019-10-21 15:40:47 +02:00
commit ea205440a6
No known key found for this signature in database
GPG Key ID: 30D341DD34118D7D
14 changed files with 7214 additions and 0 deletions

278
.gitignore vendored Normal file
View 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

Binary file not shown.

129
01paper.tex Normal file
View 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

File diff suppressed because it is too large Load Diff

65
bibliography.bib Normal file
View 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
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
figures/gamefield02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

46
glossary.tex Normal file
View 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
View 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
View 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

Binary file not shown.

288
zieeebackground/01paper.tex Normal file
View 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}

Binary file not shown.