Latex Tables

Good Latex Tables#

This document introduces how to create clean and beautiful tables for (USEC) papers.

Bad Bad Example Table
Good Good Example Table

For formal tables, you will not go wrong if you remember two simple guidelines at all times (mostly inspired by Tuft’s “less ink” approach):

  1. Never, ever use vertical rules.
  2. Never use double rules.

Basics#

Below is the example code for a basic table with booktabs library:

\begin{table}[tb]
	\caption{...}
    \label{tab:label}
    \centering
	\small
	\begin{tabular}{lr}
		\toprule
		{\bfseries Name} & {\bfseries Value} \\
		\midrule
		A & 0.01 \\
		B & 0.02 \\
		\bottomrule
	\end{tabular}
\end{table}
  • \begin[table][tb]: Academic tables are generally allowed to float in the document (wrapped in table environment). This helps to save space and allows the LaTeX type setting engine to do it’s thing.
    • Allow LaTeX to place the tables at top or bottom of page ([tb]), for especially large tables you can allow a separate table page ([tbp]).
    • If the typesetting engine fails to layout your tables nicely, give it some more leeway by relaxing constraints ([tb!])
    • Don’t fix tables in a specific place (if a fixed table is absolutely necessary, include package float and use [H]).
  • \small: Venues often expect the small font size for tables, check the specific venue guidelines before submission.
  • \begin{tabular}{lr}: Always align text to the left and numbers to the right.
  • {\bfseries Name}: Bold header is a style choice.
  • \caption{...}\label{tab:label}: Place caption and label together (and reference label in text, e.g., “cf.\ Table~\ref{tab:label}”). If the venue expects the caption above the table, move caption and label above the tabular environment (below \small).

Caption Placement#

A caption placemenent above the table is always preferable, if not explicitly requested by the conference template style guide to be placed below. For example, the IEEEtran template requests captions to be placed above. Not following the template will lead to ugly looking whitespace above and below the caption.

The general idea behind placing table captions above the table is that multi-page tables should have the caption on the first and not last page of the table – while an extra caption on each page indicating the continuation is also a nice addition. Keep in mind, that placing captions above does not apply to figures, as those are not meant to span multiple pages. Hence, figure captions are usually always below the figure!

Libraries#

Below are some libraries commonly utilized for academic tables:

  • booktabs: Sane(er) defaults for tables and better separator lines. Usage: Instead of \hline, use \toprule, \midrule, and \bottomrule. Use \cmidrule to create rules that only span a few columns. Use \addlinespace when some vertical whitespace is needed.
  • tabularx: Extended version of the default tabular library. Especially useful for manipulating column widths and auto filling spaces. Usage: Replaces the \begin{tabular} command. e.g., \begin{tabularx}{\pagewidth}{cX} will place the first column center and the second column will fill the remaining page space.
  • threeparttable: Allows for footnotes in tables. Usage: See examples below.

Generation of Tables#

There are different opinions for generating the necessary LaTeX code to typeset a table:

  • By Hand: This is likely only suitable for easy/small tables.
  • With a Tool: Still requiring manual work but speeding things up is to use a tool for that, e.g., Tables Generator.
  • Fully Automated: For complex tables or those that are feeded with some form of data, automatic generation might be preferable and quicker (especially when data changes). This can be done with Python, e.g., pandas has a export feature to LaTeX. (Note: We also have some code laying around for this, but it is currently not documented or reusable, in general quite hacky.)

Standalone Tables#

The standalone document class allows for previewing table files without including them directly in the paper:

\documentclass[preview]{standalone}
% Include whatever packages your table needs
\usepackage{booktabs}
\begin{document}
% Full table block goes here
\end{document}

Overleaf compiles only the table by:

  1. Selecting only the table file
  2. Clicking on PDF
  3. Clicking Compile

The full paper can be reselected by selecting and compiling main.tex.

If the table is ready, remove the document class and begin/end document, move all \usepackage calls to the preamble, and include the table file into the main paper with \input{./includes/your_table_name}.

Examples#

Demographic Table#

This demographics table manages to condense the demographics of three different surveys in a single paper column, while still remaining easy to read due to bold sections and indenting.

Demographics Table from our SOUPS'20 paper

Code: Demographic Table
\begin{table}[tb]
\centering
\begin{threeparttable}
\small
\setlength{\tabcolsep}{4pt}
\begin{tabularx}{\columnwidth}{lXrrr}
    \toprule
    &&\textbf{U.S.} & \textbf{German} & \textbf{Combined}\\
    \midrule
    \multicolumn{2}{l}{\textbf{Participants}} & & & \\
    & Started & \demoEngStarted{} & \demoGerStarted{} & \demoTotalStarted{} \\
    & Finished & \demoEngFinished{} & \demoGerFinished{} & \demoTotalFinished{} \\
    & Valid ($n=$) & \demoEngValid{} & \demoGerValid{} & \demoTotalValid{}\\
    \multicolumn{2}{l}{\textbf{Gender}} & & & \\
    & Male & \demoEngMale{} & \demoGerMale{} & \demoTotalMale{}\\
    & Female & \demoEngFemale{} & \demoGerFemale{} & \demoTotalFemale{}\\
    & Other (Free text) & \demoEngOther{} & \demoGerOther{} & \demoTotalOther{}\\
    \multicolumn{2}{l}{\textbf{Age in years}} & & &\\
    & Mean & \demoEngAgeMean{} & \demoGerAgeMean{} & \demoTotalAgeMean{} \\
    & Std.\ dev.\ ($\sigma$) & \demoEngAgeDev{} & \demoGerAgeDev{} & \demoTotalAgeDev{} \\
    & Median & \demoEngAgeMedian{} & \demoGerAgeMedian{} & \demoTotalAgeMedian{} \\
    \multicolumn{2}{l}{\textbf{Computer Science}} & & &\\
    & CS Education & \demoEngCSEdu{} & \demoGerCSEdu{} & \demoTotalCSEdu{}\\
    & CS Job & \demoEngCSJob{} & \demoGerCSJob{} & \demoTotalCSJob{}\\
    \multicolumn{2}{l}{\textbf{Professional Usage}} & & &\\
    & Office software at work &\demoEngOfficeAtWork & \demoGerOfficeAtWork & \demoTotalOfficeAtWork\\
    \multicolumn{2}{l}{\textbf{Office Usage}\tnote{$\ast$}} & & &\\
    & \demoOfficeTop(1) & \demoEngOfficeTopPercentage(1) & \demoGerOfficeTopPercentage(2) & \demoOfficeTopPercentage(1)\\
    & \demoOfficeTop(2) & \demoEngOfficeTopPercentage(2) & \demoGerOfficeTopPercentage(1) & \demoOfficeTopPercentage(2)\\ % German and English first and second place differ, the rest is identical
    & \demoOfficeTop(3) & \demoEngOfficeTopPercentage(3) & \demoGerOfficeTopPercentage(3) & \demoOfficeTopPercentage(3)\\
    & \demoOfficeTop(4) & \demoEngOfficeTopPercentage(4) & \demoGerOfficeTopPercentage(4) & \demoOfficeTopPercentage(4)\\
    & \demoOfficeTop(5) & \demoEngOfficeTopPercentage(5) & \demoGerOfficeTopPercentage(5) & \demoOfficeTopPercentage(5)\\
    & \demoOfficeTop(6) & \demoEngOfficeTopPercentage(6) & \demoGerOfficeTopPercentage(6) & \demoOfficeTopPercentage(6)\\
    & \demoOfficeTop(7) & \demoEngOfficeTopPercentage(7) & \demoGerOfficeTopPercentage(7) & \demoOfficeTopPercentage(7)\\
    & \demoOfficeTop(8) & \demoEngOfficeTopPercentage(8) & \demoGerOfficeTopPercentage(8) & \demoOfficeTopPercentage(8)\\
    & \demoOfficeTop(9) & \demoEngOfficeTopPercentage(9) & \demoGerOfficeTopPercentage(9) & \demoOfficeTopPercentage(9)\\

    \multicolumn{2}{l}{\textbf{Document Usage}\tnote{$\ast$}} & & &\\
        % Spreadsheet			% Spreadsheet						% Text							% Spreadsheet
    & \demoDocumentTop(1) & \demoEngDocumentTopPercentage(1) & \demoGerDocumentTopPercentage(2) & \demoDocumentTopPercentage(1)\\
    % Text					% Text								% Spreadsheet					% Text
    & \demoDocumentTop(2) & \demoEngDocumentTopPercentage(2) & \demoGerDocumentTopPercentage(1) & \demoDocumentTopPercentage(2)\\
    % E-Mails				% E-Mails							% Presentations					% E-Mails
    & \demoDocumentTop(3) & \demoEngDocumentTopPercentage(3) & \demoGerDocumentTopPercentage(4) & \demoDocumentTopPercentage(3)\\
    % Presentation			% Calendar and Appointments 		% E-Mails    					% Presentation
    & \demoDocumentTop(4) & \demoEngDocumentTopPercentage(5) & \demoGerDocumentTopPercentage(3) & \demoDocumentTopPercentage(4)\\
    % Calendar and Appointments	% Presentations					% Spreadsheet					% Calendar and Appointments
    & \demoDocumentTop(5) & \demoEngDocumentTopPercentage(4) & \demoGerDocumentTopPercentage(5) & \demoDocumentTopPercentage(5)\\
    % Other					% Other								% Other							% Other
    & \demoDocumentTop(6) & \demoEngDocumentTopPercentage(6) & \demoGerDocumentTopPercentage(6) & \demoDocumentTopPercentage(6)\\
    \multicolumn{2}{l}{\textbf{Document Storage}\tnote{$\ast$}} & & &\\
    % Locally
    & \demoStorageTop(1) & \demoEngStorageTopPercentage(2) & \demoGerStorageTopPercentage(1) & \demoStorageTopPercentage(1)\\
    % Google Drive
    & \demoStorageTop(2) & \demoEngStorageTopPercentage(1) & \demoGerStorageTopPercentage(2) & \demoStorageTopPercentage(2)\\
    % Dropbox
    & \demoStorageTop(3) & \demoEngStorageTopPercentage(3) & \demoGerStorageTopPercentage(3) & \demoStorageTopPercentage(3)\\
    % One Drive
    & \demoStorageTop(4) & \demoEngStorageTopPercentage(4) & \demoGerStorageTopPercentage(4) & \demoStorageTopPercentage(4)\\
    % iCloud
    & \demoStorageTop(5) & \demoEngStorageTopPercentage(7) & \demoGerStorageTopPercentage(5) & \demoStorageTopPercentage(5)\\
    % Network share
    & \demoStorageTop(6) & \demoEngStorageTopPercentage(5) & \demoGerStorageTopPercentage(6) & \demoStorageTopPercentage(6)\\
    \bottomrule
\end{tabularx}
\begin{tablenotes}
\item [$\ast$] Multiple answers allowed, may not sum to 100\%
\end{tablenotes}
\end{threeparttable}%
\caption{Demographics for all valid participants from the U.S.\ survey (Amazon's Mechanical Turk), German survey (ClickWorker), and combined.}
\label{tab:demographics}
\end{table}

Demographic Table Alternative#

This is an alternative, somehow more dense layout. As it is more crowded and harder to read, it might be a way to deal with a demographics table when there is only limited space.

Demographics Table from an Unpublished Project

Code: Demo Alt
\begin{table}[t]
    \caption{Demographics of the \var{participants.Upwork.text}~participants from Upwork.}
    \label{tab:demographics}
    \centering
    \begin{threeparttable}
        \footnotesize
        \renewcommand{\arraystretch}{1.05}
        \setlength{\tabcolsep}{0.9\tabcolsep}
        \setlength{\defaultaddspace}{0.15\defaultaddspace} %space used by \addlinespace
    
        \begin{tabular}{llrr@{\hspace{1.5em}}lrr}
            \toprule
            
            \multicolumn{7}{l}{\textbf{Gender}}  \\
             & Male & \var{demo.gender.Man} & \var{demo.gender.Man.perc} & Female & \var{demo.gender.Woman} & \var{demo.gender.Woman.perc} \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Age [years]}} \\
             & Min. & \var{demo.age.min} &  & Max. & \var{demo.age.max} & \\
             & Mean (Std.) & \var{demo.age.mean} & $\pm\var{demo.age.std}$ & Median & \var{demo.age.50percentile}  \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Highest Education Level}}  \\
             & < High school & \var{demo.education.Lessthanhighschool/GCSEorequivalent} & \var{demo.education.Lessthanhighschool/GCSEorequivalent.perc} & Bachelor's degree\hspace{-3em} & \var{demo.education.Bachelor'sdegree} & \var{demo.education.Bachelor'sdegree.perc} \\
             & High school                   & \var{demo.education.Highschoolorequivalent/Alevelorequivalent} & \var{demo.education.Highschoolorequivalent/Alevelorequivalent.perc} & Graduate school & \var{demo.education.Somegraduateschool,orcurrentlyenrolledingraduateschool} & \var{demo.education.Somegraduateschool,orcurrentlyenrolledingraduateschool.perc} \\
             & College & \var{demo.education.Somecollege(orcurrentlyenrolled),ortwo-yearassociate’sdegree} & \var{demo.education.Somecollege(orcurrentlyenrolled),ortwo-yearassociate’sdegree.perc} & Master's degree & \var{demo.education.Master'sorprofessionaldegree} & \var{demo.education.Master'sorprofessionaldegree.perc} \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Country of Residency}}  \\
            & United Kingdom & \var{demo.countries.UnitedKingdom} & \var{demo.countries.UnitedKingdom.perc} & Brazil & \var{demo.countries.Brazil} & \var{demo.countries.Brazil.perc} \\
            & United States & \var{demo.countries.UnitedStates} & \var{demo.countries.UnitedStates.perc} & Other\tnote{1} & \var{demo.countries.other} & \var{demo.countries.other.perc} \\
            & India & \var{demo.countries.India} & \var{demo.countries.India.perc} \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Industry Experience [years]}}\\ 
            & Min. & \var{demo.exp.min} &  & Max. & \var{demo.exp.max} & \\
            & Mean (Std.) & \var{demo.exp.mean} & $\pm\var{demo.exp.std}$ & Median & \var{demo.exp.50percentile}  \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Employment Status\tnote{\textdagger}}}\\ 
             & Employed full-time & \var{demo.employment.Employedfull-time} & \var{demo.employment.Employedfull-time.perc} & Student & \var{demo.employment.Student} & \var{demo.employment.Student.perc} \\
             & Self-employed/Freelancer\hspace{-1em} & \var{demo.employment.Self-employed/Freelancer} & \var{demo.employment.Self-employed/Freelancer.perc} & Self-describe & \var{demo.employment.Prefertoself-describe} & \var{demo.employment.Prefertoself-describe.perc} \\
             & Employed part-time & \var{demo.employment.Employedpart-time} & \var{demo.employment.Employedpart-time.perc} &  &  &  \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Domain of Web Experience\tnote{\textdagger}}}\\ 
             & Full-stack developer & \var{demo.webDomainExp.Full-StackDevelopment} & \var{demo.webDomainExp.Full-StackDevelopment.perc} & UI/UX & \var{demo.webDomainExp.UI/UX} & \var{demo.webDomainExp.UI/UX.perc} \\
             & Frontend developer & \var{demo.webDomainExp.FrontendDevelopment} & \var{demo.webDomainExp.FrontendDevelopment.perc} & API developer & \var{demo.webDomainExp.APIDevelopment} & \var{demo.webDomainExp.APIDevelopment.perc} \\
             & Backend developer & \var{demo.webDomainExp.BackendDevelopment} & \var{demo.webDomainExp.BackendDevelopment.perc} & Testing & \var{demo.webDomainExp.Testing} & \var{demo.webDomainExp.Testing.perc} \\
             & Web design & \var{demo.webDomainExp.WebDesign} & \var{demo.webDomainExp.WebDesign.perc} & Other & \var{demo.webDomainExp.Other(pleasespecifybelow)} & \var{demo.webDomainExp.Other(pleasespecifybelow).perc} \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Security/Usability as Part of Training/Studies}}\\ 
             & Security & \var{demo.security.training.studies.Yes} & \var{demo.security.training.studies.Yes.perc} & Usability & \var{demo.usability.training.studies.Yes} & \var{demo.usability.training.studies.Yes.perc} \\
            
            \addlinespace
            \multicolumn{7}{l}{\textbf{Security/Usability Training in Professional Activity}}\\ 
             & Security & \var{demo.security.training.job.Yes} & \var{demo.security.training.job.Yes.perc} & Usability & \var{demo.usability.training.job.Yes} & \var{demo.usability.training.job.Yes.perc} \\

            \bottomrule
        \end{tabular}
        \begin{tablenotes}
            \footnotesize
            \item [\textdagger] Multiple answers allowed; may not sum to 100\%.
            \item [1] Each country occurring once.
        \end{tablenotes}
    \end{threeparttable}
\end{table}

Systematization#

Systematization table with bubbles, multi-level columns, and a fair number of footnotes.

Systematization Table from our SOUPS'20 paper

Code: Systematization
\begin{table*}
\centering
\begin{threeparttable}
\small
\setlength{\tabcolsep}{3pt}
\begin{tabularx}{\textwidth}{Xcc>{\hspace{8pt}}cccc>{\hspace{8pt}}cc>{\hspace{4pt}}cccc>{\hspace{8pt}}c}
\toprule
    & \multirowcell{2}[-1ex]{Storage} & \multirowcell{2}[-1ex]{Offline\\Mode} & \multicolumn{4}{c}{Versions available} & \multicolumn{2}{c}{Mobile Version} & \multicolumn{4}{c}{Sharing} & \multirowcell{2}[-1ex]{Document\\Recovery} \\
    \cmidrule(lr){4-7}
    \cmidrule(lr){8-9}
    \cmidrule(lr){10-13}
    &  &   & \makecell{Self\\Hosted} & Free     & Paid            & Trial     & Android   & iOS  & E-Mail & Link & \makecell{Read\\Only} & \makecell{Read \& \\Comment} & \\
\midrule
    Office 365        & \yes{}& \no{} & \no{}    & \kinda{}\rlap{\tnote{1}}              & \yes{}       & \yes{}        & \yes{}& \yes{}      & \yes{}     & \yes{}    & \yes{}  & \no{}         & \yes{}                            \\
    Google Drive           & \yes{} & \yes{} & \no{}   & \yes{}       & \yes{}       & \yes{}               & \yes{}& \yes{}  & \yes{}     & \yes{}   & \yes{}  & \yes{}         & \yes{}                            \\
    iWork for iCloud & \yes{}& \no{}  & \no{}    & \yes{}       & \yes{}       & -               & \no{} & \yes{}     & \yes{}     & \yes{}   & \yes{}  & \no{}          & \yes{}                            \\
    LibreOffice Online            & \no{}  & \no{} & \yes{}   & \yes{}       & \kinda{}\rlap{\tnote{2}}    & -               & \kinda{}\rlap{\tnote{3}}  & \no         & \kinda{}\rlap{\tnote{4}}       & \kinda{}\rlap{\tnote{4}}     & \kinda{}\rlap{\tnote{4}}    & \no{}          & \kinda{}\rlap{\tnote{4}}                              \\
    OnlyOffice             & \yes{} & \no{} &  \yes{}  & \yes{}       & \yes{}       & \yes{}               & \yes{}& \yes{}      & \yes{}     & \yes{}   & \yes{}  & \yes{}         & \yes{}                            \\ \bottomrule
\end{tabularx}%
\begin{tablenotes}
\item [\yes] Feature available
\item [\no] Feature unavailable
\item [\kinda] Feature partially available
\\
\item [1] Students and teachers receive a free online only version.
\item [2] Support is only provided by third party companies and not directly by The Document Foundation.
\item [3] Only a viewer is available.
\item [4] Depends on underlying software.
\end{tablenotes}
\end{threeparttable}%
\caption{Overview of the most common cloud office suites and their related features.}
\label{tab:cloud-office-suites}
\end{table*}

Qualitative Demographics#

Qualitative demographics table for interviews etc. Packages for the document preamble:

% Tables
\usepackage{colortbl}
\usepackage{tabularx}
\usepackage{makecell}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage[para, flushleft]{threeparttable}

% Fix some weird behavior when using colored rows within tabularx. see https://tex.stackexchange.com/questions/297345/why-is-the-start-row-of-rowcolors-ignored-in-tabularx/297357
\newcounter{tblerows}
\expandafter\let\csname c@tblerows\endcsname\rownum

You might also need to pass the table argument to xcolors for row coloring to work:

\usepackage{xcolor}
\PassOptionsToPackage{table}{xcolor}

If you are using the IEEEtran template, you need to specify this at the beginning of the document (right at the top of main.tex):

\PassOptionsToPackage{table}{xcolor} % Cannot do this in the preamble, as IEEEtran already loads xcolor

Qualitative Demographics Table from our Oakland'22 paper

Code: Qual. Demographic
\begin{table*}[tb]
\centering
\begin{threeparttable}
\caption{Detailed overview of interviewed contributors, their project background, as well as some project metadata.
For reporting, participants were assigned an alias. We only report binned project metrics to preserve both our participants' and their projects' privacy.}
\label{tab:interview}
%\small
\footnotesize
%\setlength{\tabcolsep}{6pt}
\rowcolors{5}{white}{gray!10}
\begin{tabularx}{\linewidth}{c>{\hspace{20pt}}lrrl>{\hspace{20pt}}rr>{\hspace{20pt}}X}
    \toprule
    \multirowcell{2}{\textbf{Alias}} &
    \multicolumn{4}{c}{\textbf{Interview}} &
    \multicolumn{3}{c}{\textbf{Project}\rlap{\tnote{1}}} \\
    \cmidrule(l{20pt}){2-5}
    \cmidrule(l{20pt}){6-8}
    &
    \textbf{Language} &
    \textbf{Duration} &
    \textbf{Codes}\rlap{\tnote{2}} &
    \textbf{Recruitment Channel} &
    \textbf{Commits} &
    \textbf{Contributors} &
    \textbf{Category} \\
    \midrule
	\var{p1}	&	German	&	0:40:49	&	68	&	Professional Network	&	100,000+	&	10+	&	Operating System \\
	\var{p2}	&	German	&	1:03:51	&	76	&	Professional Network	&	1,000+	&	10+	&	Secure Messenger \\ 
	\var{p3}	&	German	&	0:53:49	&	57	&	Contact Email	&	10,000+	&	100+	&	Virtualization/Containers \\ 
	\var{p4}	&	English	&	0:33:59	&	62	&	Communication Channel	&	100+	&	10+	&	JavaScript Libraries \\ 
	\var{p5}	&	English	&	0:36:35	&	42	&	Contact Email	&	1,000+	&	100+	&	Code Editor \\ 
	\var{p6}	&	English	&	0:55:20	&	70	&	Communication Channel	&	100+	&	10+	&	JavaScript Libraries \\ 
	\var{p7}	&	English	&	0:33:16	&	54	&	Contact Email	&	100+	&	10+	&	.NET Libraries \\ 
	\var{p8}	&	English	&	1:06:18	&	67	&	Contact Email	&	100,000+	&	100+	&	Operating System \\ 
	\var{p9}	&	English	&	0:30:37	&	95	&	Contact Email	&	10,000+	&	<10\;\;	&	Version Control System \\ 
	\var{p10}	&	English	&	0:23:35	&	36	&	Contact Email	&	10,000+	&	100+	&	GUI Tool \\ 
	\var{p11}	&	English	&	1:08:13	&	101	&	Contact Email	&	10,000+	&	1,000+	&	Orchestration \\ 
	\var{p12}	&	German	&	0:35:12	&	61	&	Professional Network	&	10,000+	&	100+	&	Network Security Monitor \\ 
	\var{p13}	&	English	&	0:29:23	&	39	&	Contact Email	&	10,000+	&	100+	&	Scientific Computing \\ 
	\var{p14}	&	English	&	0:19:44	&	38	&	Communication Channel	&	1,000+	&	10+	&	Cryptocurrency Exchange \\ 
	\var{p15}	&	German	&	0:26:32	&	44	&	Communication Channel	&	10,000+	&	100+	&	Operating System \\ 
	\var{p16}	&	English	&	0:46:19	&	48	&	Contact Email	&	10,000+	&	100+	&	Code Analysis \\ 
	\var{p17}	&	English	&	0:44:14	&	57	&	Contact Email	&	1,000+	&	1,000+	&	JavaScript Libraries \\ 
	\var{p18}	&	English	&	0:32:46	&	45	&	Project Website	&	1,000+	&	10+	&	Scientific Computing \\ 
	\var{p19}	&	German	&	0:40:59	&	40	&	Communication Channel	&	1,000+	&	10+	&	Scientific Computing \\ 
	\var{p20}	&	German	&	0:38:14	&	63	&	Communication Channel	&	10,000+	&	100+	&	Network Protocol \\ 
	\var{p21}	&	English	&	0:38:25	&	43	&	Contact Email	&	1,000+	&	100+	&	Virtualization/Containers \\ 
	\var{p22}	&	English	&	0:37:09	&	73	&	Contact Email	&	1,000+	&	100+	&	Data Format \\ 
	\var{p23}	&	English	&	0:23:19	&	62	&	Contact Email	&	10,000+	&	100+	&	Virtualization/Containers \\ 
	\var{p24}	&	English	&	0:39:35	&	57	&	Contact Email	&	100+	&	100+	&	Orchestration \\ 
	\var{p25}	&	English	&	0:52:23	&	83	&	Project Website	&	10,000+	&	1,000+	&	Operating System \\ 
	\var{p26}	&	English	&	0:33:23	&	59	&	Contact Email	&	10,000+	&	100+	&	Scientific Computing \\ 
	\var{p27}	&	English	&	0:37:52	&	78	&	Contact Email	&	1,000+	&	100+	&	Scientific Computing \\ 
	\bottomrule
\end{tabularx}
\begin{tablenotes}
\item [1] If multiple projects: largest project covered in the interview.
\item [2] Total number of codes assigned to the interview after resolving conflicts.
\end{tablenotes}
\end{threeparttable}%
\end{table*}

An example for a dense (although likely not the most beautiful) related work overview table. The example is taken from the OLab Paper @ SOUPS 2022.

Related Work Overview Table from the OLab SOUPS'22 paper

Code: Dense Related Work
\begin{table*}[th]
\begin{threeparttable}
	\caption{Overview over our categorization of related work in the field of developer security.}
	\label{tab:relwork}
	\centering
	\scriptsize
	\setlength{\tabcolsep}{2pt}
	\rowcolors{3}{}{MaterialGrey200}
\begin{tabular}{r|c|ccc|ccc|r|c|cccc|cccc|ccccccccc|cccccccccccccccc|ccc}
\toprule
{} &     Year & \multicolumn{3}{c|}{Type} & \multicolumn{3}{c|}{Channel} &                      \multicolumn{1}{c|}{N} &              Time & \multicolumn{4}{c|}{Recruitment} & \multicolumn{4}{c|}{Environment} & \multicolumn{9}{c|}{Tools (Explicit Mention)} & \multicolumn{16}{c|}{Data Collection} & \multicolumn{3}{c}{In \project{}} \\
{} &\rotatebox{90}{{}}&\rotatebox{90}{Security Analysis}&\rotatebox{90}{Security Configuration}&\rotatebox{90}{Development Task}&\rotatebox{90}{Lab}&\rotatebox{90}{Remote}&\rotatebox{90}{Browser Based}&\multicolumn{1}{c|}{\rotatebox{90}{Number of participants}}&\rotatebox{90}{Duration in hours}&\rotatebox{90}{Organisations}&\rotatebox{90}{Online Mass Recruitment}&\rotatebox{90}{Online Targeted Recruitment}&\rotatebox{90}{Local University Students}&\rotatebox{90}{Windows}&\rotatebox{90}{Linux}&\rotatebox{90}{Variable}&\rotatebox{90}{Unspecified}&\rotatebox{90}{Git/Gitlab}&\rotatebox{90}{Custom CA}&\rotatebox{90}{IDE}&\rotatebox{90}{Android Studio Plugin}&\rotatebox{90}{Static Analyzer/Fuzzer}&\rotatebox{90}{Browser-Based Platform}&\rotatebox{90}{Android Emulator}&\rotatebox{90}{Qualtrics Survey}&\rotatebox{90}{\makecell{Programming Language\tnote{1}}}&\rotatebox{90}{Screen Recordings}&\rotatebox{90}{Transcripts}&\rotatebox{90}{Video Recording}&\rotatebox{90}{Audio Recording}&\rotatebox{90}{Observation Notes}&\rotatebox{90}{Participation Diaries}&\rotatebox{90}{Think Aloud}&\rotatebox{90}{Source Code}&\rotatebox{90}{Copy and Paste Events}&\rotatebox{90}{Eclipse Actions}&\rotatebox{90}{Config Files}&\rotatebox{90}{Bash History}&\rotatebox{90}{Gitlab Issues/Comments}&\rotatebox{90}{Copy of image}&\rotatebox{90}{Qualtrics responses}&\rotatebox{90}{Browser History}&\rotatebox{90}{Implemented}&\rotatebox{90}{Possible}&\rotatebox{90}{Impossible}\\
\midrule
\textbf{\cite{ruef16}                                    } &     2016 &                   &                        &             \yes &    \yes &   \yes &               &                    156 &              3x2w &                                &                         &                        \yes &                      \yes &             &  \yes &          &             &                     \yes &           &       &                       &                        &                        &                  &                  &                                                                  C &                   &             &                 &                 &                   &                       &             &        \yes &                       &                 &              &              &                        &               &                     &                 &             &     \yes &            \\
\textbf{\cite{Acar:2016ww}                               } &     2016 &                   &                        &             \yes &    \yes &        &               &                     54 &            ~01:00 &                           \yes &                         &                             &                      \yes &             &  \yes &          &             &                          &           &  \yes &                       &                        &                        &             \yes &                  &                                                                  J &                   &             &                 &                 &                   &                       &        \yes &        \yes &                       &                 &              &              &                        &               &                     &            \yes &             &     \yes &            \\
\textbf{\cite{Yakdan:Johnny}                             } &     2016 &              \yes &                        &                  &         &        &          \yes &                     30 &            ~01:00 &                                &                    \yes &                             &                      \yes &             &       &          &             &                          &           &       &                       &                        &                        &                  &                  &                                                                  C &                   &             &                 &                 &                   &                       &             &        \yes &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Acar:2017}                                 } &     2017 &                   &                        &             \yes &         &        &          \yes &                    256 &            ~01:00 &                                &                    \yes &                             &                           &             &       &          &             &                          &           &       &                       &                        &                   \yes &                  &                  &                                                                 PY &                   &             &                 &                 &                   &                       &             &        \yes &                  \yes &                 &              &              &                        &               &                     &            \yes &        \yes &          &            \\
\textbf{\cite{Naiakshina:2017}                           } &     2017 &                   &                        &             \yes &    \yes &        &               &                     20 &            ~08:00 &                                &                         &                             &                      \yes &             &       &          &             &                          &           &  \yes &                       &                        &                        &                  &                  &                                                                  J &                   &             &                 &                 &                   &                       &             &        \yes &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Nguyen:2017}                               } &     2017 &                   &                        &             \yes &         &   \yes &               &                     39 &            ~01:00 &                                &                    \yes &                             &                           &             &       &          &             &                          &           &  \yes &                  \yes &                        &                        &                  &                  &                                                                  J &                   &             &                 &                 &                   &                       &             &        \yes &                  \yes &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Acar:2017:DevsVsStudents}                  } &     2017 &                   &                        &             \yes &         &        &          \yes &                    307 &            ~01:00 &                                &                    \yes &                             &                           &             &       &          &             &                          &           &       &                       &                        &                   \yes &                  &                  &                                                                 PY &                   &             &                 &                 &                   &                       &             &        \yes &                  \yes &                 &              &              &                        &               &                     &            \yes &        \yes &          &            \\
\textbf{\cite{Krombholz:2017}                            } &     2017 &                   &                   \yes &                  &    \yes &        &               &                     35 &            ~02:00 &                                &                         &                             &                      \yes &             &  \yes &          &             &                          &      \yes &       &                       &                        &                        &                  &                  &                                                                    &                   &             &                 &                 &              \yes &                       &        \yes &             &                       &                 &         \yes &         \yes &                        &               &                     &            \yes &             &     \yes &            \\
\textbf{\cite{Naiakshina:2018}                           } &     2018 &                   &                        &             \yes &    \yes &        &               &                     40 &            ~08:00 &                                &                         &                             &                      \yes &             &  \yes &          &             &                          &           &       &                       &                        &                        &                  &                  &                                                                  J &              \yes &             &                 &                 &                   &                       &             &        \yes &                  \yes &                 &              &              &                        &               &                     &            \yes &        \yes &          &            \\
\textbf{\cite{Oliveira:2018}                             } &     2018 &              \yes &                        &                  &         &        &          \yes &                    109 &            >00:20 &                                &                    \yes &                             &                      \yes &             &       &          &             &                          &           &       &                       &                        &                        &                  &             \yes &                                                                  J &                   &             &                 &            \yes &                   &                       &             &             &                       &                 &              &              &                        &               &                \yes &                 &        \yes &          &            \\
\textbf{\cite{Hansch:2018}                               } &     2018 &              \yes &                        &                  &    \yes &        &               &                     66 &            ~00:47 &                                &                         &                             &                      \yes &             &       &          &        \yes &                          &           &  \yes &                       &                        &                        &                  &                  &                                                                  J &                   &             &                 &                 &                   &                       &             &        \yes &                       &            \yes &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Gorski:2018}                               } &     2018 &                   &                        &             \yes &         &        &          \yes &                     53 &                 ? &                                &                    \yes &                             &                           &             &       &          &             &                          &           &       &                       &                        &                   \yes &                  &                  &                                                                 PY &                   &             &                 &                 &                   &                       &             &        \yes &                  \yes &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Tiefenau:2019}                             } &     2019 &                   &                   \yes &                  &    \yes &        &               &                     31 &            ~05:00 &                                &                         &                             &                      \yes &             &  \yes &          &             &                          &           &       &                       &                        &                        &                  &                  &                                                                    &              \yes &             &                 &                 &                   &                       &             &             &                       &                 &              &         \yes &                        &          \yes &                     &            \yes &        \yes &          &            \\
\textbf{\cite{Aksu:2019:UsabilityOfOpenVAS}                                 } &     2019 &              \yes &                        &                  &         &   \yes &               &                     10 &                 ? &                           \yes &                         &                             &                           &             &       &          &        \yes &                          &           &       &                       &                        &                   \yes &                  &                  &                                                                    &                   &             &                 &                 &              \yes &                       &        \yes &             &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Naiakshina:2019}                           } &     2019 &                   &                        &             \yes &         &   \yes &               &                     43 &            ~06:30 &                                &                         &                        \yes &                           &             &       &          &             &                          &           &       &                       &                        &                        &                  &                  &                                                                  J &                   &             &                 &                 &                   &                       &             &        \yes &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Votipka:2020:reverse-engineering-processes}} &     2020 &              \yes &                        &                  &         &   \yes &               &                     16 &            ~01:10 &                                &                    \yes &                             &                           &             &       &     \yes &             &                          &           &       &                       &                        &                        &                  &                  &                                                                    &                   &             &            \yes &            \yes &              \yes &                       &             &             &                       &                 &              &              &                        &               &                     &                 &             &     \yes &            \\
\textbf{\cite{Danilova:2020}                             } &     2020 &                   &                        &             \yes &         &   \yes &               &                     43 &            ~72:00 &                                &                         &                        \yes &                           &             &       &          &             &                          &           &       &                       &                        &                        &                  &                  &                                                                  J &                   &             &                 &                 &                   &                       &             &        \yes &                       &                 &              &              &                        &               &                     &                 &             &          &       \yes \\
\textbf{\cite{Naiakshina:2020}                           } &     2020 &                   &                        &             \yes &         &   \yes &               &                     36 &            ~08:00 &                                &                    \yes &                             &                           &             &       &          &             &                          &           &       &                       &                        &                        &                  &                  &                                                                  J &                   &             &                 &                 &                   &                       &             &        \yes &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Nosco:2020}                                } &     2020 &              \yes &                        &                  &    \yes &        &               &                     20 &            ~80:00 &                           \yes &                         &                             &                           &             &  \yes &          &             &                     \yes &           &       &                       &                        &                        &                  &                  &                                                               C,PY &                   &             &                 &                 &                   &                       &             &             &                       &                 &              &              &                   \yes &               &                     &                 &             &     \yes &            \\
\textbf{\cite{Smith:2020}                                } &     2020 &              \yes &                        &                  &    \yes &        &               &                     12 &            ~01:00 &                                &                         &                        \yes &                           &             &       &          &        \yes &                          &           &  \yes &                       &                        &                        &                  &                  &                                                              J,C,P &              \yes &             &                 &            \yes &                   &                       &             &             &                       &                 &              &              &                        &               &                     &                 &             &     \yes &            \\
\textbf{\cite{Tupsamudre:2020:FixingTheFixes}                            } &     2020 &                   &                        &             \yes &    \yes &        &               &                      8 &            ~00:30 &                           \yes &                         &                             &                           &        \yes &       &          &             &                          &           &  \yes &                       &                        &                        &                  &                  &                                                                    &                   &             &                 &                 &                   &                       &             &             &                       &                 &              &              &                        &               &                     &            \yes &        \yes &          &            \\
\textbf{\cite{Ploeger:2021:AQualitativeUsabilityEvaluation}                        } &     2021 &              \yes &                        &                  &         &   \yes &               &                     38 &            ~20:00 &                                &                         &                             &                      \yes &             &       &          &        \yes &                          &           &       &                       &                   \yes &                        &                  &                  &                                                                    &                   &        \yes &                 &            \yes &                   &                  \yes &             &        \yes &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Roth:2021:12AngryDevelopers}                   } &     2021 &                   &                        &             \yes &         &   \yes &               &                     12 &            ~01:33 &                                &                    \yes &                             &                           &             &       &     \yes &             &                          &           &       &                       &                        &                        &                  &                  &                                                             J,PY,P &                   &             &                 &                 &                   &                       &        \yes &        \yes &                       &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\textbf{\cite{Fischer:2021:ContentReranking}                   } &     2021 &              \yes &                        &                  &         &        &          \yes &                    410 &                 ? &                                &                    \yes &                             &                           &             &       &          &        \yes &                          &           &       &                       &                        &                   \yes &                  &                  &                                                                  - &                   &             &                 &                 &                   &                       &             &        \yes &                  \yes &                 &              &              &                        &               &                     &                 &        \yes &          &            \\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[1] J=Java; PY=Python; C=C/C++; P=PHP 
\end{tablenotes}
\end{threeparttable}
\end{table*}

Enumerations in Table Cells#

The following command allows you to have a kind of enumeration in a table:

\renewcommand\xxx{\par\hangindent1em\makebox[1em][l]{$\bullet$}\itshape\scriptsize}

Example for an enumeration inside of a table cells, taken from an ongoing project

Code: Enumeration
\renewcommand\xxx{\par\hangindent1em\makebox[1em][l]{$\bullet$}\itshape\scriptsize}

\begin{table}[t]
    \caption{Overview of the \var{advice.contradicting.groups}~contradiction groups, each with a short description and advice examples (in \textit{italics}).}
    \label{tab:contradiction-groups}
    \centering
    \begin{threeparttable}
        \footnotesize
        \renewcommand{\arraystretch}{1.2}
        \setlength{\tabcolsep}{0.6\tabcolsep}
        \setlength{\defaultaddspace}{0.0\defaultaddspace} % space used by \addlinespace
        \rowcolors{2}{white}{gray!10}
        \begin{tabularx}{\linewidth}{>{\bfseries\arraybackslash}rX}
            \toprule
            \textbf{Group} & \textbf{Description \& Advice Examples} \\
            \midrule
                C1          &  \textbf{Whether to force regular password changes or not.}                 \xxx Enforce users to change passwords regularly \xxx Don't enforce users to regularly change/update passwords                                                                                        \\
                C2          & \textbf{Whether to set a maximum password length or not.}                   \xxx Set a maximum password length \xxx Don't set a maximum password length                                                                                                                           \\
                C3          & \textbf{ Different advice on minimum password length.}                       \xxx Use a minimum of 8 characters \xxx Use a minimum of 12-16 characters                                                                                                                             \\
                C4          & \textbf{Whether to allow toggling password field visibility or not.}        \xxx Don't display passwords on the screen \xxx Allow users to toggle password visibility when typing it                                                                                              \\
                C5          & \textbf{Whether passwords should be entered twice during registration.}     \xxx Let users confirm passwords by writing twice. \xxx Don't ask for password to confirm a password by writing twice                                                                                 \\
                C6          & \textbf{Different speed requirements for password hashing.}                 \xxx Slow down hash functions \xxx Choose work factors so that hashing time \textless 1 sec                                                                                                           \\
                C7          & \textbf{Whether to keep sessions alive for longer times or terminate them.} \xxx Provide automatic logout/expire session \xxx Keep users signed in                                                                                                                                \\
                C8          & \textbf{How long should tokens for authentication live.}                    \xxx Limit number of token usages \xxx Only allow one-time usage                                                                                                                                      \\
                C9          & \textbf{Whether to use IP addresses or account for rate limits.}            \xxx Limit by account, not by IP \xxx Limit by IP                                                                                                                                                     \\
                C10         & \textbf{Different rate limits to prevent brute force attacks.}              \xxx Limit to 3 attempts per account in a set timespan \xxx Limit to 20 guesses per minute and IP address                                                                                             \\
                C11         & \textbf{Whether to use logins or not.}                                      \xxx Always require/enforce authentication \xxx Avoid login completely if possible/not necessary                                                                                                      \\
                C12         & \textbf{Which 2FA approach to choose.}                                      \xxx Provide OTPs as 2FA option \xxx Use mobile device push notifications as second factor                                                                                                            \\
                C13         & \textbf{How authentication errors should be reported to the users.}         \xxx Use generic responses for auth errors to not weaken security \xxx Tell if user types in an old password\\
                C14         & \textbf{Using OAuth or OpenID Connect for authentication.}                  \xxx Implement 3rd-party authentication via OAuth\xxx Use OpenID Connect for authentication                                                                                                          \\
                C15         & \textbf{Whether to use CAPTCHAs or not.}                                    \xxx Use CAPTCHAs \xxx Use alternatives for CAPTCHAs \\
            \bottomrule
        \end{tabularx}
        \begin{tablenotes}
        \end{tablenotes}
    \end{threeparttable}%
\end{table}

Latex Color- & Heatmaps#

Colormap we used in “They Would do Better if They Worked Together”. Ideally you would generate this table (e.g. the colors) via python, that way even heatmaps are possible.

Example for a colormap in a table.

Code: Heatmap
\begin{table*}[p]
	\label{tab:cases_results}
	\caption{Results for our evaluation testing password managers against the previously generated minimal working examples.}
	\begin{center}
	\footnotesize
	\setlength{\tabcolsep}{2pt}
\begin{tabularx}{\textwidth}{lcXrlllllllllllllll}
\multicolumn{4}{c}{\multirow{2}{*}{\makecell{\textbf{Interaction Legend:}\\
\colorbox{MaterialLime50}{Seamless}, \colorbox{MaterialYellow500}{Manual}, \colorbox{MaterialRed800}{\color{white}No Solution Found}, \colorbox{MaterialGrey900}{\color{white}Not Applicable}\\
Color scheme optimized for color blindness and b/w printouts.}}} & \multicolumn{15}{c}{\textbf{Password Manager}} \\
\multicolumn{3}{c}{}&\multirow{2}{*}{\rotatebox{90}{\#(Seamless)}}&\multirow{2}{*}{\rotatebox{90}{LastPass}}&\multirow{2}{*}{\rotatebox{90}{Norton}}&\multirow{2}{*}{\rotatebox{90}{Avira}}&\multirow{2}{*}{\rotatebox{90}{Dashlane}}&\multirow{2}{*}{\rotatebox{90}{1Password X}}&\multirow{2}{*}{\rotatebox{90}{Bitwarden}}&\multirow{2}{*}{\rotatebox{90}{RoboForm}}&\multirow{2}{*}{\rotatebox{90}{Keeper}}&\multirow{2}{*}{\rotatebox{90}{Blur}}&\multirow{2}{*}{\rotatebox{90}{Enpass}}&\multirow{2}{*}{\rotatebox{90}{KeepassXC}}&\multirow{2}{*}{\rotatebox{90}{Passbolt}}&\multirow{2}{*}{\rotatebox{90}{Chrome PWM}}&\multirow{2}{*}{\rotatebox{90}{Firefox PWM}}&\multirow{2}{*}{\rotatebox{90}{Edge PWM}}\\[8.2ex]
       {} & \textbf{Nr} &                                                                                                                                  Description & & & & & & & & & & & & & & & \\
\midrule
\multicolumn{3}{l}{\textbf{Additional Elements  (Auth)} } & \\
       & \textbf{AA-01} &                                                               Multiple input fields for single input, e.g. 5 input fields for a 5-letter PIN &             0 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{AA-02} &                                                                    Multiple login buttons (e.g. user \& password fields, Google signin, SSO) &             2 &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} \\
              & \textbf{AA-03} &                                                  Site includes more authentication-related forms than necessary (e.g. login \& registration) &             7 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{AA-04} &                                                               Site includes more authentication fields than user \& password (e.g. lastname) &             3 &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
\midrule
\multicolumn{3}{l}{\textbf{Additional Elements  (Non-Auth)} } & \\
       & \textbf{AN-01} &                                                                        Site includes an admin panel with multiple user authentication fields &             7 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} \\
              & \textbf{AN-02} &                                     Site includes checkbox and radio buttons that the \pwm{} is supposed to remember (e.g. "Remember Login") &             1 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{AN-03} &                                   Site with interactable elements such as drop-downs unrelated to authentication, but affected by the \pwm{} &            10 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{AN-04} &                                                                                           Site with form submits unrelated to authentication &            15 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
\midrule
\multicolumn{3}{l}{\textbf{Domain Matching} } & \\
       & \textbf{D-01} &                                                                                       Base domain with subdomains using the same credentials &             9 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} \\
              & \textbf{D-02} &                                                  Multiple distinct domains (e.g. ShareLaTeX \& Overleaf) using the same authentication realm &             0 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{D-03} &                                                                                          Base domain with subdomains using separate services &             4 &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} \\
              & \textbf{D-04} &                                                                              Login is available via both HTTP (port 80) and HTTPS (port 443) &             4 &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{D-05} &                                                                            Multiple redirects after login submission that obstruct auto-save &            10 &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{D-06} &                                                                                      Login form in an iframe which loads a different website &             3 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} \\
              & \textbf{D-07} &                                                                            Base domain with several paths or subpages with seperate services &             3 &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
\midrule
\multicolumn{3}{l}{\textbf{Input Fields} } & \\
       & \textbf{I-01} &                                                      Input field definition includes e.g. "code" substring, can be confused with TOTP codes. &            12 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{I-02} &                                                    Input field has misleading or unusual name, e.g. "auth" or "IDToken1" for username fields &            13 &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{I-03} &                                                                  Input field has misleading or unusual type, e.g. "password" for TOTP fields &            11 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} \\
              & \textbf{I-04} &                                                \texttt{autocomplete} tags are used within input fields (e.g. \texttt{autocomplete=username}) &             9 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{I-05} &                                                  No information on type of input field (i.e. no hints in ID, name, type or other attributes) &             5 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{I-06} &                                                                                 Form with $<$textarea$>$ for username instead of input field &             3 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{I-07} &                                                                                                            Input field has no type attribute &             7 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{I-08} &                                                                         Input field has a max-length smaller than the pre-generated password &             1 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} \\
              & \textbf{I-09} &                                                  Website manipulates input data to a semantical equivalent (e.g. changes email to uppercase) &            10 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} \\
\midrule
\multicolumn{3}{l}{\textbf{JavaScript} } & \\
       & \textbf{J-01} &                                                                                         Hidden password field (e.g. display:none HTML-style) &             6 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} \\
              & \textbf{J-02} &                                                                             Submit button is only enabled after registering a keypress event &            12 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} \\
              & \textbf{J-03} &                                        Multiple login steps on one page: only user field initially visible, password shows up in later step. &             0 &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} \\
              & \textbf{J-04} &                                Multiple login steps over multiple pages: only user field initially visible, password shows up in later step. &             0 &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} \\
              & \textbf{J-05} &                                  Site manipulates input in some way (e.g. substitutes with ****, adds whitespaces, deletes automated inputs) &             7 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{J-06} &                                            Site with a dummy password field that is swapped with an initially hidden real one on interaction &             3 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} \\
\midrule
\multicolumn{3}{l}{\textbf{Non-Standard  Forms} } & \\
       & \textbf{N-01} &                                                                           No form tag around the login fields that the (login-)data via Ajax &             9 &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{N-02} &                                                                                                    Form element is a custom WebComponent-Tag &            15 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{N-03} &                                                                                                      Submit button is a div with role=button &             8 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{N-04} &                                                                                            Form submit button is not part of the form itself &             9 &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{N-05} &                                                                                  Hyperlink instead of submit button that triggers JavaScript &            10 &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
\midrule
\multicolumn{3}{l}{\textbf{Timing} } & \\
       & \textbf{T-01} &                                                                                 Delay initializing authentication fields (pages load slowly) &             9 &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} \\
              & \textbf{T-02} &                                                   Delay between generation of TOTP and input submission (e.g. due to users waiting too long) &             0 &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &    \cellcolor{MaterialGrey900} &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &  \cellcolor{MaterialYellow500} &  \cellcolor{MaterialYellow500} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} &    \cellcolor{MaterialGrey900} \\
\midrule
\multicolumn{3}{l}{\textbf{Web Standards} } & \\
       & \textbf{W-01} &                                                                                                    HTTP basic authentication as login method &             4 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
              & \textbf{W-02} &  Multiple files behind HTTP basic authentication triggering multiple authentication requests that might fail due to request-reply mismatches &             3 &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialRed800} &  \cellcolor{MaterialYellow500} &     \cellcolor{MaterialLime50} &     \cellcolor{MaterialLime50} \\
\bottomrule
	\end{tabularx}
\end{center}
\end{table*}

References#