\documentclass[12pt]{article}
\usepackage[natbib=true,style=authoryear]{biblatex}
  \addbibresource{references.bib}
  \setlength\bibitemsep{0pt}
\usepackage{pgf}
\usepackage[colorlinks,citecolor=blue,linkcolor=black,bookmarks=false,hypertexnames=true]{hyperref}
\usepackage{url}
\usepackage[inline]{enumitem}
\usepackage{float}
\usepackage[bottom,perpage,multiple]{footmisc}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{setspace}
  \setstretch{1.1}
\usepackage{enumitem}
\usepackage{caption}
\usepackage{xcolor}
\usepackage[top=1.3in, left=1.4in, includefoot]{geometry}
\setlist{nosep}
\usepackage{xcolor}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{multicol}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{charter}
\usepackage{listings}
\usepackage{authblk}

\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstdefinestyle{mystyle}{
	backgroundcolor=\color{backcolour},
	commentstyle=\color{codegreen},
	keywordstyle=\color{magenta},
	numberstyle=\tiny\color{codegray},
	stringstyle=\color{codepurple},
	basicstyle=\sffamily\footnotesize,
	breakatwhitespace=false,
	breaklines=true,
	captionpos=b,
	keepspaces=true,
	numbers=left,
	numbersep=5pt,
	showspaces=false,
	showstringspaces=false,
	showtabs=false,
	tabsize=2
}

\lstset{style=mystyle}

\newcommand{\pattern}[3]{
	{\bf #2. #1} \\
	{\it Description:} #3 \\
}

\newcommand{\todo}{\textcolor{red}{\textbf{TODO}}}
\tolerance=800

\usepackage{pgfplots}
%\DeclareUnicodeCharacter{2212}{-}
\usepgfplotslibrary{groupplots,dateplot}
\usetikzlibrary{patterns,shapes.arrows}
\pgfplotsset{compat=newest}

\usepackage{url}
\renewcommand*{\bibfont}{\footnotesize}

\title{
  \includegraphics[height=100pt]{logo.png}\\
  \vspace{10pt}
  \textsc{Aibolit:}\\
  Static Analysis
  Using Machine Learning}
\author{Yegor Bugayenko, Anton Cheshkov, Ekaterina Garmash, Andrey Gusev, Yaroslav Kishchenko, Pavel Lukyanov, Evgeny Maslov, Vitaly Protasov}
\affil{Huawei Technologies Co., Ltd. \\ System Programming Lab \\ Russian Research Institute (RRI) \\ Moscow, Russia}

\begin{document}

\maketitle

\pagebreak

\begin{abstract}

Aibolit is a next generation static analyzer powered by machine learning.
Aibolit gives recommendations to developers to avoid bad software patterns
in order to improve quality of the source code. Aibolit can be extended by adding
custom patterns and quality metrics of choice. In this paper, we explain
how Aibolit works and how it differs from other static analyzers.

\end{abstract}

\pagebreak

\section{Introduction}
\label{sec:intro}
\input{sections/introduction}


\section{Software quality and patterns}
\label{sec:related}
\input{sections/related_work}

\section{How the Aibolit recommender works}
\label{sec:how_aibolit_works}
\input{sections/how_aibolit_works}

\section{Other usage scenarios}
\label{sec:usage_scenarios}
\input{sections/pattern_emp_analysis}
\input{sections/usage_scenarios}

\section{Conclusion \& Future Work}
\label{sec:conclusion}
\input{sections/conclusion}

\newpage
\AtNextBibliography{\small}
\setstretch{1.0}
\raggedright
\begin{multicols}{2}\printbibliography\end{multicols}

\newpage
\section*{Appendix}
\label{sec:appendix}
\input{sections/appendix}

\end{document}
