Ducky's Homework / Research

I am working for Gail Murphy, looking at programmer productivity. I've gone through several ideas for thesis topics so far:
  • discovering interesting patterns in programmer/IDE interaction by data mining interaction logs (got stumped trying to find things without knowing what I was looking for; also most data mining techniques involve a small amount of data for a large number of subjects, not a large amount of data for a small number of subjects)
  • running a user study of novice pairs and experienced pairs of programmers, seeing how long they took to complete a set of ~4 tasks, and figuring out what the successful programmers did that the unsuccessful programmers didn't (realized that randomness plays such a large factor that I wasn't going to find anything interesting)
  • implementing tabbing behaviour in Eclipse similar to tabbing behaviour in Firefox, giving subjects a little lecture on doing breadth-first instead of depth-first search, and timing new-tab vs. old-tab behavior (someone else already implemented "Firefox" tabbing behaviour)
  • implementing a visualization of coders'navigation history

Current TBDs

  • blog on JML
  • read a bunch of papers on navigation
  • try out IDEs to see how they do tabbing
    • NetBeans: fwd/back buttons; moving to new file always opens new tab; tabs don't move, left/rt arrow to move view of tabs
    • JCreator (Windows only)
    • Understand Java
    • Gel (Windows only, dormant)
    • BlueJ -- teaching tool; not sure if it scales
  • ask Mik/Rob re visualization
  • Rob's thesis mentions that 58-81% of web navigation is to previously seen pages, but passes on saying what % is for source. That would be interesting to try to pull out of Mylar data.
  • Bannon et al: "[D]igressions are frequent. When a record is made of these commands as they occur temporarily, as in the history list, information on the tasks and goals of the users is lost."
  • good stuff here: http://portal.acm.org/results.cfm?coll=GUIDE&dl=GUIDE&CFID=19182022&CFTOKEN=49296027

links: http://www.sei.cmu.edu/publications/documents/97.reports/97tr012/97tr012title.htm http://valgrind.org/downloads/current.html http://valgrind.org/downloads/variants.html http://www.ndparking.com/stlabs.com http://lclint.cs.virginia.edu/ http://www.st.cs.uni-sb.de/eclipse/ http://www.cs.wisc.edu/cbi/ daikon http://c2.com/cgi/wiki?DoNotUseAssertions http://www.research.att.com/viewProject.cfm?prjID=67 http://www.parasoft.com/jsp/home.jsp http://www.csse.monash.edu.au/~davida/guard/ http://www.sos.cs.ru.nl/research/escjava/ http://www.cs.iastate.edu/~leavens/JML/ http://www.gnu.org/software/ddd/ http://www.codesurfer.com/products/codesurfer/overview.html http://www.st.cs.uni-sb.de/dd/ http://www.cs.nmsu.edu/~jeffery/aadebug.html http://www.checkpointing.org/

Current hypotheses

  • H0: Most of time "wasted" is due to false hypotheses.
  • H1: People make false hypotheses frequently.
  • H2: Breadth-first search when seeking verification for a hypothesis is on average faster than a depth-first search.
  • H3: The "three hypotheses" approach is useful.
  • H4: Better tools to see nav history are useful.

  • H10: code with JML is faster to understand than code without

Research

  • DuckyThesisProposalNotes

Code base -- code obfuscators?

More generic, old

  • Potential future study

Need academic ref

Interesting references for me to chase down

  • Cross, E. The behavioral styles of computer programmers. in Proc 8th Annual SIGCPR Conference. 1970. Maryland, WA, USA.

  • Mayer, D.B. and A.W. Stalnaker. Selection and Evaluation of Computer Personnel – the Research History of SIG/CPR. in Proc 1968 23rd ACM National Conference,. 1968. Las Vegas, NV, USA.

  • Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben- David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. A multinational, multi-institutional study of assessment of programming skills of first-year CS students. In Working group reports from ITiCSE on Innovation and technology in computer science education, Canterbury, UK, 2001. ACM Press.

  • B Adelson and E Soloway. The role of domain experience in software design. IEEE Transactions on Software Engineering, 11(November):1351–1360, 1985.
  • Jeffrey Bonar and Elliot Soloway. Uncovering principles of novice programming. In 10th ACM POPL, pages 10–13, 1983.

and other references from This Camel Has Two Humps and Testing Programming Aptitude

follow-on to the camel

Topic attachments
I Attachment History Action Size Date Who Comment
PowerPointppt TimeSeriesData.ppt r1 manage 767.5 K 2005-12-05 - 07:58 DuckySherwood for 5 Dec presentation

This topic: Main > TWikiUsers > DuckySherwood > DuckyHomework
Topic revision: r364 - 2007-05-21 - DuckySherwood
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback