Research

 

XML Databases for Software Visualization (past)


It is important for developers to understand how a reusable component works before it can be reused. This can be achieved by visualizing the component in execution. To create visualizations, specific information needs to be extracted from the executing component. One method for extraction is to test drive the component and spy on it’s execution, where the events can be gathered in program traces and encoded in XML based languages. This research explored storing and retrieving program traces in XDS: an XML Data Storage environment designed to support visualizations of reusable components, for the purposes of understanding. A native XML database was used as the storage mechanism because it corresponded to the XML data model and provided XML functionality such as XML based query languages.


Selected Publications:

  1. Craig Anslow, Stuart Marshall, James Noble, Kirk Jackson, Mike McGavin and Robert Biddle. Program Trace Formats for Software Visualisation. Computer Science Technical Report, 2006.

  2. Craig Anslow, Stuart Marshall, Robert Biddle, James Noble, and Kirk Jackson. XML Database Support for Program Trace Visualisation. In INVIS, 2004.

  3. Stuart Marshall, Kirk Jackson, Craig Anslow and Robert Biddle. Aspects to Visualising Reusable Components. In INVIS, 2003.

X3D Software Visualization (past)


3D web software visualization has always been expensive, special purpose, and hard to program. Most of the technologies used require large amounts of scripting, are not reliable on all platforms, are binary formats, or no longer maintained. We can make web software visualization of object-oriented programs cheap, portable, and easy by using Extensible (X3D) 3D Graphics, which is a free  open standard.


Selected Publications:

  1. Craig Anslow. Evaluating Extensible 3D (X3D) Graphics For Use in Software Visualisation. (Masters Thesis) School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, 2008.

  2. Craig Anslow, James Noble, Stuart Marshall, and Robert Biddle. Web Software Visualization Using Extensible 3D (X3D) Graphics. In SoftVis, 2008.

  3. Craig Anslow, James Noble, Stuart Marshall, and Robert Biddle. X3D Web Software Visualization in Action!. In OOPSLA Companion, 2007.

  4. Craig Anslow, Stuart Marshall, James Noble, and Robert Biddle. X3D Software Visualization. In NZCSRSC, 2007.

  5. Craig Anslow, James Noble, Robert Biddle, and Stuart Marshall. X3D Web Based Algorithm Animation. School of Mathematics, Statistics and Computer Science, Computer Science Technical Report, 2007.

  6. Craig Anslow, Stuart Marshall, James Noble, and Robert Biddle. VET3D: A Tool for Execution Trace Web 3D Visualization. In OOPSLA Companion, 2006.

  7. Craig Anslow, Stuart Marshall, James Noble, and Robert Biddle. Evaluating X3D For Use in Software Visualization, In SoftVis, 2006.

  8. Craig Anslow, Stuart Marshall, and James Noble. X3D-Earth in the Software Visualization Pipeline. In X3D-Earth Technical Requirements Workshop, 2006.

End User Programming with Wikis (past)


When business software fails to provide the desired functionality, users typically turn to spreadsheets to perform simple but general computational tasks. However, spreadsheets enforce a view of the world that consists mostly of tables and numbers rather than the domain concepts users have in mind. We are using wikis as a platform for empowering end-users to perform computational tasks of their choice. Our research demonstrates how core properties of wikis can support end-user programming.


Examples:

  1. WikiPublisher


Selected Publications:

  1. John Rankin, Craig Anslow, James Noble, Donald Gordon, and Brenda Chawner. Wikipublisher: A Print-on-Demand Wiki. In the Proceedings of the International Symposium on Wikis and Open Collaboration (WikiSym), Orlando, FL, USA, 2009.

  2. Craig Anslow and Dirk Riehle. Towards End-User Programming with Wikis. In Proceedings of the Workshop on End-User Software Engineering (WEUSE), at IEEE International Conference on Software Engineering (ICSE), Leipzig, Germany, 2008.

  3. Craig Anslow and Dirk Riehle. Lightweight End-User Programming with Wikis. In Proceedings of the Workshop on Wikis for Software Engineering, at WikiSym, Montreal, Canada, 2007.

Collaborative Software Visualization in Co-located Environments (active)

Understanding software for maintenance and improvement is a hard task. Software visualization aims to help understanding with techniques to visualize the structure, behaviour, and evolution of software. Most software visualization systems and tools are designed from a single-user perspective and are bound to the desktop, Integrated Development Environments (IDEs) like Eclipse, and the web. These design decisions do not allow users to collaboratively analyse software or easily interact and navigate software visualizations. We are building collaborative,  interactive, multi-touch software visualization applications for multi-touch tables. Our research conducted via user studies will outline the strengths and weaknesses of designing multi-touch software visualization  applications and how users collaboratively conduct visual software analytics with multi-touch table user interfaces. The implications for our research will help inform software developers how to design better applications for multi-touch user interfaces.


Selected Publications:

  1. Craig Anslow. Collaborative Software Visualization in Co-located Environments. (PhD Thesis) School of Engineering and Computer Science, Victoria University of Wellington, 2013.

  2. Craig Anslow, Stuart Marshall, James Noble, and Robert Biddle. SourceVis: Collaborative Software Visualization for Co-Located Environments. In Proceedings of the IEEE International Working Conference on Software Visualization (VISSOFT), Eindhoven, The Netherlands, 2013.

  3. Craig Anslow, Stuart Marshall, James Noble, Robert Biddle. Exploring Collaborative Software Visualization with Multi-touch Tables. In Proceedings of the Workshop on Collaboration meets Interactive Surfaces: Walls, Tables, Tablets, and Phones at the at the ACM International Conference on Interactive Tabletops and Surfaces (ITS), St Andrews, Scotland, 2013.

  4. Craig Anslow, Stuart Marshall, James Noble, and Robert Biddle. Interactive Multi-touch Surfaces for Software Visualization. In Proceedings of the Workshop on Data Exploration for Interactive Surfaces (DEXIS) at the Conference on Interactive Tabletops and Surfaces (ITS), Kobe, Japan, 2011.

  5. Craig Anslow, Stuart Marshall, James Noble, and Robert Biddle. SourceVis: A Tool for Multi-touch Software Visualization. In Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces (ITS), Kobe, Japan, 2011.

  6. Craig Anslow. Multi-touch Table User Interfaces for Co-located Collaborative Software Visualization. In Proceedings of the Doctoral Symposium at the ACM International Conference on Interactive Tabletops and Surfaces (ITS), Saarbrucken, Germany, 2010.

  7. Craig Anslow. Multi-touch Table User Interfaces for Co-Located Collaborative Visual Software Analytics. PhD Proposal, Victoria University of Wellington, 2010.

Evaluation and Usability of Programming Languages and Tools (active)

Programming languages exist to enable programmers to develop software effectively. But how efficiently programmers can write software depends on the usability of the languages and tools that they develop with. The aim of this research is to explore methods, metrics and techniques for evaluating the usability of languages and language tools. The supposed benefits of such languages and tools cover a large space, including making programs easier to read, write, and maintain; allowing programmers to write more flexible and powerful programs; and restricting programs to make them more safe and secure.


Workshops:

  1. PLATEAU 2012 at SPLASH 2012

  2. PLATEAU 2011 at SPLASH / Onward! 2011

  3. PLATEAU 2010 at SPLASH / Onward! 2010

  4. PLATEAU 2009 at OOPSLA / Onward! 2009

Visual Software Analytics (active)

Since its inception, a large amount of software has been written in Java and surprisingly little is known about the structure of Java programs in the wild. There are very few software visualization tools for analytical reasoning of Java software. We are creating visual software analytics tools that will help to characterize our Java software corpus. Our tools will help to provide insight into a collection of Java programs, detect the expected, and discover the unexpected.


Examples

  1. Qualitas Corpus - curated collection of software systems for empirical studies of code artifacts

  2. Lightweight Interactive Environment for Java (LiveJ) - uses Google's Visualization API

  3. http://manyeyes.alphaworks.ibm.com/manyeyes/users/Craig+Anslow - ManyEyes


Workshops

  1. Workshop on Visual Analytics in Software Engineering (VASE) 2009


Selected Publications:

  1. Keith Cassell, Craig Anslow, Lindsay Groves, Peter Andreae. Visualizing the Refactoring of Classes via Clustering. In Proceedings of the Australasian Computer Science Conference (ACSC), Perth, Australia, 2011.

  2. Ewan Tempero, Craig Anslow, Jens Dietrich, Ted Han, Jing Li, Markus Lumpe, Hayden Melton, and James Noble. Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies. In Proceedings of the Asia Pacific Software Engineering Conference (APSEC), Sydney, Australia, 2010. *Best Research Paper Award

  3. Craig Anslow, James Noble, Stuart Marshall, Ewan Tempero, and Robert Biddle. User Evaluation of Polymetric Views Using a Large Visualization Wall. In Proceedings of the ACM Symposium on Software Visualization (SoftVis), Salt Lake City, UT, USA, 2010.

  4. Haowei Ruan, Stuart Marshall, Craig Anslow, and James Noble. Exploring the Inventor's Paradox: Applying Jigsaw to Software Visualization. In Proceedings of the ACM Symposium on Software Visualization (SoftVis), Salt Lake City, UT, USA, 2010.

  5. Craig Anslow, James Noble, Stuart Marshall, and Ewan Tempero. Visualizing the Size of the Java Standard API. In Proceedings of the New Zealand Computer Science Research Student Conference (NZCSRSC), Wellington, New Zealand, 2010.

  6. Craig Anslow and Stuart Marshall. Proceedings of the Workshop on Visual Analytics in Software Engineering (VASE). School of Engineering and Computer Science, Technical Report, ECSTR10-11, 2010.

  7. Craig Anslow, James Noble, Stuart Marshall, and Ewan Tempero. Web Software Visualization Via Google’s Visualization API. In Proceedings of the New Zealand Computer Science Research Student Conference (NZCSRSC), Auckland, New Zealand, 2009.

  8. Craig Anslow, James Noble, Stuart Marshall, and Ewan Tempero. Towards Visual Software Analytics. In ACDC, 2009.

  9. Craig Anslow, James Noble, Stuart Marshall, and Ewan Tempero. Towards End-User Web Software Visualization. In Proceedings of the Graduate Consortium at VLHCC, 2008.

  10. Craig Anslow, James Noble, Stuart Marshall, and Ewan Tempero. Visualizing the Word Structure of Java Class Names. In OOPLSA Companion, 2008.