SCHOOL OF ENGINEERING AND COMPUTER SCIENCE

Dr Alex Potanin

Alex Potanin

  • Office: Cotton 262
  • Phone: +64 (4) 463 5302
  • Email: Alex.Potanin@ecs.vuw.ac.nz
  • Web: Official Staff Page
  • Calendar: Alex Potanin's Calendar
  • How to find Alex: Please email for an appointment.
  • NB! Alex is away from Monday, 1st of October 2012 until Monday, 3rd of February 2014 on a combination of different leaves including a 12 month sabbatical. During this time you can only reach him by email and there can be a very long delay (up to several months) before he can reply.

Projects for Potential Students

  • Anything fun to do with programming languages (looking for any graduate students, though funding might need to come from VUW and not from myself).
    • Feel free to email me or drop by my office to discuss your options!
    • Let me know your background and interests first and I'll make some suggestions!
  • Some Ideas for COMP489 and ENGR489 students:
    • Carry out further work on JavaScript Type Inference performed by Felix as listed below!
    • Analyse dispatch in Closure and Groovy and write a comparative study using corpus analysis techniques.
    • Ownership Design Patterns.
    • Mozilla Firefox Projects.

Students

  • Daniel Atkins (MSc Thesis in 2012, Survey of Concurrency Features in OO Programming Languages), Co-Supervised with Lindsay Groves)
  • Julian Mackay (MSc Thesis in 2012, Mechanised Theorem Proving in COQ for Ownership and Immutability), Co-Supervised with Lindsay Groves)
  • Daniel Atkins (RA in summer 2010/2011, X10 Programming Language and Clocked References)
  • Daniel Atkins (BSc Honours Thesis in 2011, X10 Programming Language)
  • Julian Mackay (BSc Honours Thesis in 2011, Mechanised Theorem Proving in COQ, Co-Supervised with Lindsay Groves)
  • Felix Shi (BE 400-level Thesis in 2011, JavaScript Type Inference, Co-Supervised with Lindsay Groves)
  • Jan Larres (MSc Thesis started in 2010, Performance Variations Analysis in Mozilla Firefox, Co-Supervised with Yuichi Hirose)
  • Ahmed Aziz Khalifa (PhD Thesis started in 2010, Ownership and Immutability in the Real World, Co-Supervised with James Noble)
  • Constantine Dymnikov (MSc Thesis started in 2010, Modular Ownership Inference, Co-Supervised with David Pearce)
  • Hien Tran (BE 400-level Thesis in 2010, Automated Analysis of Map Labelling for GIS Users, Co-Supervised with Mairead de Roiste from SGEES)
  • Hannes Mehnert (RA in summer 2009/2010, Ownership and Immutability, Co-Supervised with Nicholas Cameron)
  • Constantine Dymnikov (RA in 2009/2010, Ownership Inference)
  • Andrew Walbran (RA in 2009, OIGJ Compiler)
  • Gustav van der Merwe (RA in 2009, Ownership, Immutability and GADT's)
  • Paley Li (BSc Honours Thesis in 2008, Ownership and Immutability, Co-Supervised with James Noble and Lindsay Groves)
  • Andrew Childs (BSc Honours Thesis in 2008, Eliminating Redundant Null Checks, Co-Supervised with Lindsay Groves)
  • Paley Li (RA in 2008, Ownership and Immutability)
  • Radu Muschevici (MSc Thesis in 2007/2008, Multimethods, Co-Supervised with James Noble)
  • Neil Ramsay (BIT Thesis in 2007, Software Visualisation, Co-Supervised with Stuart Marshall)
  • Leo Gui (BIT Thesis attempted in 2007, Usability of Teaching Tools, Co-Supervised with Stuart Marshall)
  • Christo Fogelberg (RA in 2007, Ownership in Collections)

Teaching

Publications (Feel Free to Email Me for a Copy)

Journal Papers

  1. Chris Male, David Pearce, Alex Potanin, and Constantine Dymnikov. Formalisation and Implementation of an Algorithm for Bytecode Verification of @NonNull Types. Science of Computer Programming. Volume 76, Issue 7, Pages 587 - 608, July 2011.
  2. Alex Potanin, James Noble, Dave Clarke, and Robert Biddle. Featherweight Generic Confinement. Journal of Functional Programming. Volume 16, Number 6, Pages 793 - 811, September 2006.
  3. Alex Potanin, James Noble, Marcus Frean, and Robert Biddle. Scale-free Geometry in Object-Oriented Programs. Communications of the ACM. May 2005. (ACM Link)
  4. Alex Potanin, James Noble, and Robert Biddle. Checking Ownership and Confinement. Concurrency and Computation: Practice and Experience. Volume 16, Issue 7, Pages 671 - 687, 2004.

Refereed Conference Papers

  1. Hien Tran, Craig Anslow, Stuart Marshall, Alex Potanin, Mairead de Roiste. Lessons Learnt from Collaboratively Creating Maps on a Touch Table. In proceedings of CHINZ2011.
  2. Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst. Ownership and Immutability in Generic Java. In proceedings of OOPSLA/SPLASH 2010.
  3. Radu Muschevici, Alex Potanin, Ewan Tempero, and James Noble. Multiple Dispatch in Practice. In proceedings of OOPSLA2008. (ACM Link)
  4. Chris Male, David Pearce, Alex Potanin, and Constantine Dymnikov. Java Bytecode Verification for @NonNull Types. In proceedings of CC2008.
  5. Neil Ramsay, Stuart Marshall, and Alex Potanin. Annotating UI Architecture with Actual Use. In proceedings of AUIC2008.
  6. Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi, Adam Kiezun, and Michael D. Ernst. Object and Reference Immutability using Java Generics. In proceedings of the Foundations of Software Engineering (FSE) Conference, Dubrovnik, Croatia, September 2007. (Update: Our paper won ESEC/FSE 2007 ACM SIGSOFT Distinguished Paper Award.) (ACM Link)
  7. Alex Potanin, James Noble, Dave Clarke, and Robert Biddle. Generic Ownership for Generic Java. In proceedings of the Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) Conference, Portland, Oregon, October 2006. (ACM Link)
  8. Alex Potanin, James Noble, and Robert Biddle. Snapshot Query-Based Debugging. In proceedings of the Australian Software Engineering Conference, Melbourne, Australia, April 2004.

Refereed Workshop Papers

  1. Daniel Atkins, Alex Potanin, Lindsay Groves. Clocked References in X10. LaME2012.
  2. Julian Mackay, Hannes Mehnert, Alex Potanin, Lindsay Groves, Nicholas Cameron. Encoding Featherweight Java with Assignment and Immutability using The Coq Proof Assistant. FTfJP2012.
  3. Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst. Ownership and Immutability in Generic Java (OIGJ). IBM Programming Languages and Development Environments Seminar 2010 (PLDE2010).
  4. Paley Li, Stephen Nelson, and Alex Potanin. Ownership for Relationships. International Workshop on Aliasing, Confinement, and Ownership (IWACO) at ECOOP2009.
  5. Paley Li, Alex Potanin, James Noble, and Lindsay Groves. Towards Unifying Immutability and Ownership. International Workshop on Aliasing, Confinement, and Ownership (IWACO) at ECOOP2008.
  6. Christo Fogelberg, Alex Potanin, and James Noble. Ownership Meets Java. International Workshop on Aliasing, Confinement, and Ownership (IWACO) at ECOOP2007.
  7. Alex Potanin, James Noble, Tian Zhao, Jan Vitek. A High Integrity Profile for Memory Safe Programming in Real-time Java. In proceedings of the 3rd workshop on Java Technologies for Real-time and Embedded Systems, San Diego, CA, USA, October 2005.
  8. Alex Potanin, James Noble, Dave Clarke, Robert Biddle. Featherweight Generic Ownership. In proceedings of the workshop on Formal Techniques for Java-like Programs (FTfJP) in European Conference for Object-Oriented Programming, Glasgow, Scotland, July 2005.
  9. Alex Potanin, James Noble, Dave Clarke, Robert Biddle. Defaulting Generic Java to Ownership. In proceedings of the workshop on Formal Techniques for Java-like Programs (FTfJP) in European Conference for Object-Oriented Programming, Oslo, Norway, June 2004.
  10. Alex Potanin, James Noble, Dave Clarke, and Robert Biddle. Featherweight Generic Confinement. In proceedings of the International Workshop on Foundations of Object-Oriented Languages (FOOL), affiliated with Symposium on Principles of Programming Languages, Venice, Italy, January 2004.
  11. James Noble, Robert Biddle, Ewan Tempero, Alex Potanin, and Dave Clarke. Towards a Model of Encapsulation. In proceedings of the International Workshop on Aliasing, Confinement and Ownership (IWACO) in European Conference for Object-Oriented Programming, Darmstadt, Germany, July 2003.
  12. Alex Potanin and James Noble. Checking Ownership and Confinement Properties. In proceedings of the workshop on Formal Techniques for Java-like Programs (FTfJP) in European Conference for Object-Oriented Programming, Malaga, Spain, June 2002.

Patents

  1. Software Translation. US Patent Filed in March 2008.

Edited Journals

  1. Taso Viglas and Alex Potanin (Editors). Special Issue on Computing: The Australasian Theory Symposium 2011. International Journal on Foundations of Computer Science (IJFCS), 2012.
  2. Taso Viglas and Alex Potanin (Editors). Special Issue on Computing: The Australasian Theory Symposium 2010. Chicago Journal of Theoretical Computer Science (CJTCS), 2011.

Other Refereed Publications

  1. Jan Larres, Alex Potanin, and Yuichi Hirose. Performance Variance Evaluation on Mozilla Firefox. In the proceedings of the NZCSRSC2011.
  2. Chris Andreae, Donald Gordon, Alex Potanin, James Noble, Robert Biddle. Terrier: Static Query-Based Debugging in Eclipse. Poster in Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, Canada, October 2004.
  3. Alex Potanin. Generic Ownership: Practical Ownership Control in Programming Languages. In Doctoral Symposium Proceedings of Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, Canada, October 2004.
  4. Alex Potanin. Practical Ownership Control in Programming Languages. In Doctoral Symposium Proceedings of European Conference for Object-Oriented Programming, Oslo, Norway, June 2004.
  5. Alex Potanin. A Tool for Ownership and Confinement Analysis of the Java Object Graph. Conference poster and student research competition entry in Object-Oriented Programming Systems, Languages, and Applications Conference, Seattle, USA, November 2002. The poster itself is available in Microsoft PowerPoint format here. This entry was awarded a second place in the competition in the graduate division, even though I was technically an undergraduate. The results are available here. (Update: This entry was accepted into the ACM Student Research Competition Grand Finals and can be found in HTML format here. It was awarded a second place overall in the undergraduate category as can be found here.)

Theses

  1. Alex Potanin. Generic Ownership - A Practical Approach to Ownership and Confinement in OO Programming Languages. My PhD thesis, awarded in 2007.
  2. Alex Potanin. The Fox - A Tool for Object Graph Analysis. Honours report which resulted in First Class Honours at Victoria University of Wellington in 2002. My supervisors were James Noble and Robert Biddle. The PDFLaTeX source is available here.

Technical Reports

NB! More TR's can be found by following this link to MCS TR's and also this link to ECS TR's.

  1. Julian Mackay, Hannes Mehnert, Alex Potanin, Lindsay Groves, Nicholas Cameron. Featherweight Java with Assignment and Immutability in Coq
  2. Daniel Atkins, Alex Potanin, Lindsay Groves. Clocked References in X10
  3. Alex Potanin, Monique Damitio, Shane Markstrum, Christo Fogelberg, Andrew Walbran, James Noble. Are Your Aliases Really Necessary?
  4. Hannes Mehnert, Nicholas Cameron, Alex Potanin. Relaxing Ownership with Immutability
  5. Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst. Ownership and Immutability Generic Java (OIGJ) with Owners as Modifiers
  6. Paley Li, Yoav Zibin, Alex Potanin, and Michael D. Ernst. Featherweight OIGJ Technical Report
  7. Yoav Zibin, Alex Potanin, Shay Artzi, Adam Kiezun, and Michael D. Ernst. Object and Reference Immutability using Java Generics.
  8. Alex Potanin, Dave Clarke, James Noble, Robert Biddle. Featherweight Generic Ownership Technical Report. This TR gives full details of the FGO type system with all the proofs for type soundness and ownership invariants. A draft version appeared as a discussion paper in FTfJP2005 workshop (please see above).

Conference Committees

  1. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2013. (Part of ACSW2013.) Adelaide, Australia.
  2. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2012. (Part of ACSW2012.) Melbourne, Australia.
  3. Extended Review Committee Member for the Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2011 conference. Portlang, OR, USA.
  4. Program Committee Member of the International Workshop on Aliasing, Confinement, and Ownership (IWACO) 2011 at European Conference for Object-Oriented Programming (ECOOP) 2011.
  5. Program Committee Co-Chair of the Computing: The Australasian Theory Symposium (CATS) 2011. (Part of ACSW2011.) Perth, Australia.
  6. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2011. (Part of ACSW2011.) Perth, Australia.
  7. Conference Coordinator (2010 Onwards) as part of Computing in Research and Education (CORE) Executive.
  8. Program Committee Co-Chair of the Computing: The Australasian Theory Symposium (CATS) 2010. (Part of ACSW2010.) Brisbane, Australia.
  9. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2010. (Part of ACSW2010.) Brisbane, Australia.
  10. General Co-Chair of the Australasian Computer Science Week (ACSW) 2009. Wellington, New Zealand.
  11. Program Committee Member of the International Workshop on Aliasing, Confinement, and Ownership (IWACO) 2007 at European Conference for Object-Oriented Programming (ECOOP2007). Berlin, Germany. (2007).
  12. General Chair of the 15th PhD Workshop and Doctoral Symposium at European Conference for Object-Oriented Programming (ECOOP2005). Glasgow, Scotland. (25 - 29 July, 2005).
  13. Local Organising Chair of the 2nd International Dylan Hackers Conference (DHC2004). Wellington, New Zealand. (4 - 6 February, 2004).

Invited Talks

  1. Ownership and Immutability. At Java User Group, Wellington, NZ. (27th of April, 2011).
  2. Post PhD/Masters, what are your options? Invited panel member at NZCSRSC 2010, Wellington, NZ. (13th of April, 2010)
  3. Generic Ownership. At Java User Group, Wellington, NZ. (22nd of November, 2006).
  4. Young guns/object orientation: the next generation. Invited panel member at OOPSLA 2006, Portland, Oregon, USA. (October, 2006)