Research Toolbox


This page provides tips and tools for conducting research (on ML for systems).

How to write a systems paper?

Here are some pointers from Pat Hanrahan, Peter Pietzuch, Irene Zhang, Lin Zhong, and Henning Schulzrinne (whose page includes many additional references).

How to write an AI paper?

A useful starting point is Pat Langley’s Crafting Papers on Machine Learning. For common evaluation mistakes in ML, see Michael A. Lones’s How to Avoid Machine Learning Pitfalls: A Guide for Academic Researchers.

How to write an ML-for-systems paper?

An ML-for-systems paper has two linked burdens of proof: the learned method must be technically sound, and its integration must deliver meaningful end-to-end system benefits.

Before drafting your own paper, study well-written and award-winning papers relevant to your project. Pay attention to how they motivate a concrete problem, explain the design, and connect each evaluation result to a claim.

A strong paper should also:

How to plot aesthetically pleasing figures?

You are welcome to reuse and adapt the example plotting scripts provided by the instructor. Design each figure to answer a specific question, label axes and units clearly, and show variability when it affects the conclusion. Whenever applicable, export plots in PDF format for inclusion in LaTeX.

To draw system diagrams and illustrations, consider the following tools for creating vector graphics: PowerPoint (convenient if you plan to animate a figure later), Figma (web-based), Inkscape (free and open-source), TikZ or Graphviz (code-based), or commercial vector graphics software such as Adobe Illustrator, OmniGraffle, and Affinity Designer.

How to manage research artifacts?

Use Git to version code, experiment configurations, and analysis scripts (see Git best practices). Host the repository on GitHub, and back up data routinely using appropriate cloud storage.

To promote open and reproducible research, researchers often release these artifacts publicly when publishing a paper, along with detailed steps to reproduce the main results. Keep raw data separate from derived data, and provide a script or command for regenerating each important table and figure.

New to LaTeX?

We recommend using Overleaf as an online collaborative LaTeX editor (with premium features available through the Grainger College of Engineering). See Overleaf’s learning resources to get started. Alternatively, you may use Visual Studio Code with the extension LaTeX Workshop to edit and compile your files.