31
Writing Research Papers For Computer Science Steve Blackburn Research School of Computer Science Australian National University

Writing Research Papers For Computer Science

  • Upload
    totie

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

Writing Research Papers For Computer Science. Steve Blackburn Research School of Computer Science Australian National University. Why write?. Why Write?. The Moral Imperative. Who is paying you, anyway?. - PowerPoint PPT Presentation

Citation preview

Page 1: Writing Research Papers For Computer Science

Writing Research PapersFor Computer Science

Steve BlackburnResearch School of Computer ScienceAustralian National University

Page 2: Writing Research Papers For Computer Science

2

Why write?

Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Page 3: Writing Research Papers For Computer Science

3Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

The Moral Imperative

Why Write?

Who is paying you, anyway?

“Scientists have a moral obligation to make their findings known to other scientists, and to professionals […]”

Guidelines for Publication Ethics at the Karolinska Institute, 2002

“[…] the obligation to publish research results can be regarded both as moral and epistemic standards”

Matthias Adam, in Science and Social: Knowledge, Epistemic Demands and Social Values, University of Pittsburgh Press, 2009

“communicate this knowledge”

“As scientist and as thinkers, we share a moral imperative to communicate this knowledge, with each other, across disciplinary boundaries, and outside the academic and research spheres.”

Kate Neville in The Science Creative Quarterly, Issue 6, 2011

Page 4: Writing Research Papers For Computer Science

4Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Where to Publish

Why Write?

Communicate effectively

• Think seriously about the venue– Discus this early on in the project– Ideal venue will be sub-discipline-specific

• Maximize impact– Aim high– Don’t fear rejection

• Fear of failure retards creativity and impact

Page 5: Writing Research Papers For Computer Science

5

Effective WritingTop Down

Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Page 6: Writing Research Papers For Computer Science

6Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Know Your Audience

• What does this audience care about?• What does this audience already know?

• Think about the venue• Think about the readership• Think about the reviewers

– Look at the program committee composition

(It is probably not your mother)

Effective Writing

Page 7: Writing Research Papers For Computer Science

7Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Know Your Message

• What have you done…– that is interesting (to your audience, not you!)

– that is novel– that advances the field?– that forms a single, coherent story?

• Important v necessary– Include all that is necessary, but the focus must

remain on the important– Details of methodology etc must be reported, but in a

way that does not dominate nor detract from the focus

Don’t start writing until you have a single, clear, coherent story

Effective Writing

Page 8: Writing Research Papers For Computer Science

8Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

The Title

• It is the first handle readers have– Succinct– Meaningful– If you’re lucky, memorable

Make it meaningful and engaging

Effective Writing

Page 9: Writing Research Papers For Computer Science

9Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

The Abstract

• This is the story of your work– Write v1.0 the day you start the project– Iterate

If you can’t capture your work in the modality of an abstract you probably don’t know what you’re doing and/or don’t have enough perspective.

Many people will only read your abstract...

Effective Writing

Page 10: Writing Research Papers For Computer Science

10Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

What’s In An Abstract?

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

Effective Writing

ContributionResult

“This paper introduces a new context-sensitive and control-flow sensitive pointer alias analysis. We show that it is one hundred times faster than the prior state of the art.”

Page 11: Writing Research Papers For Computer Science

11With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Effective Writing

Problem statementContribution

ResultMeaning

“Precise flow and context sensitive pointer analysis is currently limited to programs with 100,000 or fewer lines of code. Pointer analysis clients, such as verification and testing, are consequently limited to small programs because they need high precision.”

“Precise flow and context sensitive pointer analysis is currently limited to programs with 100,000 or fewer lines of code. Pointer analysis clients, such as verification and testing, are consequently limited to small programs because they need high precision. This paper introduces a new context-sensitive and control-flow sensitive pointer alias analysis.”

“Precise flow and context sensitive pointer analysis is currently limited to programs with 100,000 or fewer lines of code. Pointer analysis clients, such as verification and testing, are consequently limited to small programs because they need high precision. This paper introduces a new context-sensitive and control-flow sensitive pointer alias analysis. We show that it is one hundred times faster than prior algorithms and can analyze programs up to 1 million lines of code.”

“Precise flow and context sensitive pointer analysis is currently limited to programs with 100,000 or fewer lines of code. Pointer analysis clients, such as verification and testing, are consequently limited to small programs because they need high precision. This paper introduces a new context-sensitive and control-flow sensitive pointer alias analysis. We show that it is one hundred times faster than prior algorithms and can analyze programs up to 1 million lines of code. Future work should investigate its effects on the precision and scalability of client analysis.”

Page 12: Writing Research Papers For Computer Science

12Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Effective Writing

Problem statementContribution

ResultMeaning

“Precise flow and context sensitive pointer analysis is currently limited to programs with 100,000 or fewer lines of code. Pointer analysis clients, such as verification and testing, are consequently limited to small programs because they need high precision. This paper introduces a new context-sensitive and control-flow sensitive pointer alias analysis. Our key insight is that many pointers have the same aliases, and we show how to find and exploit this equivalence. We show that it is one hundred times faster than prior algorithms and can analyze programs up to 1 million lines of code. Future work should investigate its effects on the precision and scalability of client analysis.”

… and be precise

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

Page 13: Writing Research Papers For Computer Science

13Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Improving an abstractInterview the writer

Effective Writing

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

• Understand– Problem statement– Contribution– Result– Meaning

Page 14: Writing Research Papers For Computer Science

14Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

The Rest of the PaperWriters (even technical ones) are story tellers

Effective Writing

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

• Tell a single coherent story• Link and organize ideas

– Recursively at each level of the document• Emphasis

– Ensure your story shines through– De-emphasize elements that are necessary

but not key to the story

Page 15: Writing Research Papers For Computer Science

15Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Recursive structureWe’re computer scientists, after all

Effective Writing

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

papersection

paragraphsentence

• Containers (paper, section, paragraph)

– Structure• Introduction, discussion, (conclusion)

• Sentences– Structure

• Special rules for structuring sentences

• Linkage of ideas– Story has flow– Structure reflects flow

Page 16: Writing Research Papers For Computer Science

16Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

The Paper

Effective Writing

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

introduction

• Containers (paper, section, paragraph)

– Structure• Introduction, discussion, (conclusion)

• Sentences– Structure

• Special rules for structuring sentences

• Linkage of ideas– Story has flow– Structure reflects flow

discussion

conclusion

Page 17: Writing Research Papers For Computer Science

17Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Sections

Effective Writing

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

introduction

• Structure– Composed of paragraphs (or

subsections)

– Introduction, discussion, (conclusion)

• Section title– Should be consistent with key idea

reflected in first paragraph

discussion

conclusion

Page 18: Writing Research Papers For Computer Science

18Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Sentences

Effective Writing

With thanks to Kathryn McKinley, University of Texas at Austin & Microsoft Research

• Familiar ideas• Action• New ideas

subjectverb

object

Page 19: Writing Research Papers For Computer Science

19

MechanicsA Laundry List

Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Page 20: Writing Research Papers For Computer Science

20Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Have a Template

• Use a template directory complete with defaults– Include the common LaTeX practices you use– Include boilerplate for grant acknowlegments– Include a bibliography

• Use a standard naming scheme– My lab uses keyword-venue-year

• rc-ismm-2012, yinyang-isca-2012, etc

Can be invaluable

Mechanics

Page 21: Writing Research Papers For Computer Science

21Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Version Control

• Why use version control?– Versioning (especially for thesis!)– Concurrent writing

• Use LaTeX and an SCM (svn, git, hg, etc)– Break document into multiple files– Put tables etc. into separate files

• Use the cloud– Google docs etc.– Write concurrently, leave comments, versions

Writing is a team sport

Mechanics

Page 22: Writing Research Papers For Computer Science

22Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Author Order

• Understand the convention• Ensure roles are clear• Discuss it explicitly

Not something to leave to the last minute

Mechanics

Page 23: Writing Research Papers For Computer Science

23Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Spelling, Grammar & Style

• Eliminate passive voice whenever possible– Passivity introduces ambiguity, the antithesis

of good science writing• Practice, practice, practice, practice

• Use available tools• Read• Invite critique

Writing errors distract the reviewer / reader

Mechanics

Page 24: Writing Research Papers For Computer Science

Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Spelling, Grammar & StyleCan be fun… …no, really.

Mechanics

24

Page 25: Writing Research Papers For Computer Science

25Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Captions

• Make figure + caption stand-alone– Capture the insight and

meaning in the caption if possible

– Capture only most vital methodology in caption

Many readers will only look at the pictures…

Mechanics

Page 26: Writing Research Papers For Computer Science

26Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Citations and Bibliography

• Take care to cite the appropriate work.– Gratuitous citations do not impress– Incorrect citations irritate– Missed citations infuriate

• Take care with bib entries– Include the DOI where possible– Check the citation. Is it correct?

Take special care when acknowledging prior work

Mechanics

Page 27: Writing Research Papers For Computer Science

27Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Feedback & Proofreading

• You will become blind to your failings– Loss of perspective– Failure to explain key predicates– Familiarity of own writing style– Blindness to typos, omissions

• Get friends to proofread– Be open to critique– Cultivate a culture of honesty and directness

Can be invaluable

Mechanics

Page 28: Writing Research Papers For Computer Science

28Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Rebuttal

• Identify key points, factor them out– Points for and points against– Ensure you address all major questions– Ensure you rebut all major concerns

• Be succinct• Be polite• Be direct

Use it wisely

Mechanics

Page 29: Writing Research Papers For Computer Science

29Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Credibility

• Is your work reproducible?– Does the paper contain enough information?

• Provide full proofs– Publish as an abstract or tech report

• Publish raw data– Put it on your web page

What’s the credibility of this work?

Mechanics

Page 30: Writing Research Papers For Computer Science

30Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Iterate

• Learning to write well takes time and practice• You cannot leave it to the last minute• I recommend a top-down approach

– Abstract– Structure– Iteratively fill in content

Start writing early & iterate

Mechanics

Page 31: Writing Research Papers For Computer Science

31Steve Blackburn | Writing Research Papers | PhD Workshop May 2012

Questions?

Mechanics