SCHOOL OF ENGINEERING AND COMPUTER SCIENCE

Dr Alex Potanin

Alex Potanin

Projects for Potential Students

  • Anything fun to do with programming languages (looking for any graduate students, though funding will probably need to come from yourself or VUW scholarship and not from myself).
    • Feel free to email me or drop by my office to discuss your options!
    • Let me know your background in programming languages research and interests first and I'll make some suggestions!

Students

  • Troy Shaw (BE Honours Thesis in 2014, Tagged Types Implementation for Wyvern)
  • Tim Sullivan (BSc Honours Thesis in 2014, Interpreter for Grace), Co-Supervised with James Noble
  • Ahmed Khalifa (PhD Thesis started in 2010 and defended in 2013, Ownership and Immutability in the Real World), Co-Supervised with James Noble
  • 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 in 2011, Performance Variations Analysis in Mozilla Firefox), Co-Supervised with Yuichi Hirose
  • Constantine Dymnikov (MSc Thesis in 2011, 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)

Book Chapters

  1. Alex Potanin, Johan Ostlund, Yoav Zibin, Michael D. Ernst. Immutability. In D. Clarke et al. (Eds.): Aliasing in Object-Oriented Programming, LNCS 7850, pp. 233-269. Springer, Heidelberg. 2013.

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. Cyrus Omar, Darya Kurilova, Ligia Nistor, Benjamin Chung, Alex Potanin, and Jonathan Aldrich. Safely Composable Type-Specific Languages. In proceedings of ECOOP2014. Pp 105-130. Springer-Verlag. This paper won ECOOP 2014 Distinguished Paper Award.
  2. Marco Servetto, Julian Mackay, Alex Potanin, and James Noble. The Billion-Dollar Fix: Safe Modular Circular Initialisation with Placeholders and Placeholder Types. In proceedings of ECOOP2013. Pp 205-229. Springer-Verlag.
  3. Constantine Dymnikov, David Pearce and Alex Potanin. OwnKit: Inferring Modularly Checkable Ownership Annotations for Java. In proceedings of the Australasian Software Engineering Conference (ASWEC) 2013. Pp 181-190. IEEE.
  4. Alex Potanin, Monique Damitio and James Noble. Are Your Incoming Aliases Really Necessary? Counting the Cost of Object Ownership. In proceedings of the International Conference on Software Engineering (ICSE) 2013. Pp 742-751. ACM/IEEE.
  5. Daniel Atkins, Alex Potanin and Lindsay Groves. The Design and Implementation of Clocked Variables in X10. In proceedings of Australasian Computer Science Conference (ACSC) 2013. Pp 87-96. CRPIT.
  6. Jan Larres, Alex Potanin and Yuichi Hirose. A Study of Performance Variations in the Mozilla Firefox Web Browser. In proceedings of Australasian Computer Science Conference (ACSC) 2013. Pp 3-12. CRPIT.
  7. Hien Tran, Craig Anslow, Stuart Marshall, Alex Potanin, Mairead de Roiste. Lessons Learnt from Collaboratively Creating Maps on a Touch Table. In proceedings of the 12th Annual Conference of the New Zealand Chapter of the ACM Special Interest Group on Computer-Human Interaction (CHINZ) 2011. Pp. 105-108. ACM SIGCHI.
  8. Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst. Ownership and Immutability in Generic Java. In proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2010. Pp. 598-617. ACM.
  9. Radu Muschevici, Alex Potanin, Ewan Tempero, and James Noble. Multiple Dispatch in Practice. In proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2008. Pp. 563-582. ACM. (ACM Link)
  10. Chris Male, David Pearce, Alex Potanin, and Constantine Dymnikov. Java Bytecode Verification for @NonNull Types. In proceedings of Compiler Construction (CC) 2008. Pp 229-244.
  11. Neil Ramsay, Stuart Marshall, and Alex Potanin. Annotating UI Architecture with Actual Use. In proceedings of Australasian User Interface Conference (AUIC) 2008. Pp. 75-78. CRPIT.
  12. 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. Pp. 75-84. ACM. (Won ESEC/FSE 2007 ACM SIGSOFT Distinguished Paper Award.) (ACM Link)
  13. 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. Pp. 311-324. ACM. (ACM Link)
  14. Alex Potanin, James Noble, and Robert Biddle. Snapshot Query-Based Debugging. In proceedings of the Australian Software Engineering Conference, Melbourne, Australia, April 2004. Pp 251-261.

Refereed Workshop Papers

  1. Darya Kurilova, Alex Potanin, and Jonathan Aldrich. Wyvern: Impacting Software Security via Programming Language Design. In PLATEAU 2014.
  2. James Noble and Alex Potanin. On Owners-as-Accessors. In IWACO 2014.
  3. Jonathan Aldrich, Cyrus Omar, Alex Potanin and Du Li. Language-Based Architectural Control. In IWACO 2014.
  4. Cyrus Omar, Benjamin Chung, Darya Kurilova, Alex Potanin and Jonathan Aldrich. Type-Directed, Whitespace-Delimited Parsing for Embedded DSLs. In proceedings of the First Workshop on the Globalization of Domain Specific Languages (GlobalDSL) 2013. Pp 8-11.
  5. Ligia Nistor, Darya Kurilova, Stephanie Balzer, Benjamin Chung, Alex Potanin and Jonathan Aldrich. Wyvern: A Simple, Typed, and Pure Object-Oriented Language. In Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHeritance (MASPEGHI) 2013. Pp 9-16.
  6. Marco Servetto, David Pearce, Lindsay Groves, and Alex Potanin. Balloon Types for Safe Parallelisation over Arbitrary Object Graphs. Workshop on Determinism and Correctness in Parallel Programming (WoDeT) 2013.
  7. Daniel Atkins, Alex Potanin, Lindsay Groves. Clocked References in X10. Languages for the Multicore Era (LaME) 2012.
  8. Julian Mackay, Hannes Mehnert, Alex Potanin, Lindsay Groves, Nicholas Cameron. Encoding Featherweight Java with Assignment and Immutability using The Coq Proof Assistant. In the proceedings of Formal Techniques for Java-like Programs (FTfJP) 2012. Pp 11-19.
  9. 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).
  10. Paley Li, Stephen Nelson, and Alex Potanin. Ownership for Relationships. International Workshop on Aliasing, Confinement, and Ownership (IWACO) 2009. Article No. 8.
  11. Paley Li, Alex Potanin, James Noble, and Lindsay Groves. Towards Unifying Immutability and Ownership. International Workshop on Aliasing, Confinement, and Ownership (IWACO) at ECOOP2008.
  12. Christo Fogelberg, Alex Potanin, and James Noble. Ownership Meets Java. International Workshop on Aliasing, Confinement, and Ownership (IWACO) at ECOOP2007.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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 and EU Patent EP2122464 filed in February 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), 2013. Vol. No. 24, Issue No. 1.
  2. Taso Viglas and Alex Potanin (Editors). Special Issue on Computing: The Australasian Theory Symposium 2010. Chicago Journal of Theoretical Computer Science (CJTCS), May 2011. Volume 2010.

Other Refereed Publications

  1. Cyrus Omar, Darya Kurilova, Ligia Nistor, Benjamin Chung, Alex Potanin, and Jonathan Aldrich. Safely Composable Type-Specific Languages. Poster in ECOOP2014.
  2. Darya Kurilova, Cyrus Omar, Ligia Nistor, Benjamin Chung, Alex Potanin, Jonathan Aldrich. Type-Specific Languages to Fight Injection Attacks. Poster in HotSOS 2014.
  3. Cyrus Omar, Benjamin Chung, Darya Kurilova, Ligia Nistor, Alex Potanin, Jonathan Aldrich. Extensible Type-Driven Parsing for Embedded DSLs in Wyvern. Parsing@SLE 2013.
  4. Cyrus Omar, Benjamin Chung, Darya Kurilova, Ligia Nistor, Alex Potanin, Jonathan Aldrich. Extensible Type-Driven Parsing for Embedded DSLs in Wyvern. Poster in SPLASH2013.
  5. Jonathan Aldirch, Benjamin Chung, Darya Kurilova, Cyrus Omar, Alex Potanin. DSL support in Wyvern Language. Domain Specific Language Design and Implementation (DSLDI) 2013.
  6. Jan Larres, Alex Potanin, and Yuichi Hirose. Performance Variance Evaluation on Mozilla Firefox. In the proceedings of the NZCSRSC2011.
  7. Mairead de Roiste, Hien Tran, and Alex Potanin. What makes a map? At Ireland Organisation for Geographic Information Conference (IRLOGI) 2010.
  8. 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.
  9. 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.
  10. Alex Potanin. Practical Ownership Control in Programming Languages. In Doctoral Symposium Proceedings of European Conference for Object-Oriented Programming, Oslo, Norway, June 2004.
  11. 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. Cyrus Omar, Darya Kurilova, Ligia Nistor, Benjamin Chung, Alex Potanin, and Jonathan Aldrich. Safely Composable Type-Specific Languages (Technical Report). CMU-ISR-TR-14-106
  2. Marco Servetto and Alex Potanin. Balloon Immutable Java
  3. Marco Servetto and Alex Potanin. Our Billion Dollar Fix
  4. Jan Larres, Alex Potanin, and Yuichi Hirose. A Study of Performance Variations in the Mozilla Firefox Web Browser
  5. Julian Mackay, Hannes Mehnert, Alex Potanin, Lindsay Groves, Nicholas Cameron. Featherweight Java with Assignment and Immutability in Coq
  6. Daniel Atkins, Alex Potanin, Lindsay Groves. Clocked References in X10
  7. Alex Potanin, Monique Damitio, Shane Markstrum, Christo Fogelberg, Andrew Walbran, James Noble. Are Your Aliases Really Necessary?
  8. Hannes Mehnert, Nicholas Cameron, Alex Potanin. Relaxing Ownership with Immutability
  9. Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, Michael D. Ernst. Ownership and Immutability Generic Java (OIGJ) with Owners as Modifiers
  10. Paley Li, Yoav Zibin, Alex Potanin, and Michael D. Ernst. Featherweight OIGJ Technical Report
  11. Yoav Zibin, Alex Potanin, Shay Artzi, Adam Kiezun, and Michael D. Ernst. Object and Reference Immutability using Java Generics. MIT-CSAIL-TR-2007-018
  12. 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. Extended Review Committee Member for the PLDI 2015 conference.
  2. Program Committee Member of the ACSC 2015.
  3. Program Committee Member of the FOOL 2014.
  4. Program Committee Member of the Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2014 conference.
  5. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2013. (Part of ACSW2013.) Adelaide, Australia.
  6. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2012. (Part of ACSW2012.) Melbourne, Australia.
  7. Extended Review Committee Member for the Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2011 conference. Portland, OR, USA.
  8. Program Committee Member of the International Workshop on Aliasing, Confinement, and Ownership (IWACO) 2011 at European Conference for Object-Oriented Programming (ECOOP) 2011.
  9. Program Committee Co-Chair of the Computing: The Australasian Theory Symposium (CATS) 2011. (Part of ACSW2011.) Perth, Australia.
  10. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2011. (Part of ACSW2011.) Perth, Australia.
  11. Conference Coordinator (2010 Onwards) as part of Computing in Research and Education (CORE) Executive.
  12. Program Committee Co-Chair of the Computing: The Australasian Theory Symposium (CATS) 2010. (Part of ACSW2010.) Brisbane, Australia.
  13. Program Committee Member of the Australasian Computer Science Conference (ACSC) 2010. (Part of ACSW2010.) Brisbane, Australia.
  14. General Co-Chair of the Australasian Computer Science Week (ACSW) 2009. Wellington, New Zealand.
  15. 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).
  16. General Chair of the 15th PhD Workshop and Doctoral Symposium at European Conference for Object-Oriented Programming (ECOOP2005). Glasgow, Scotland. (25 - 29 July, 2005).
  17. 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)