- Loading...
[This page is a draft]
Empirical studies are critical to understand how programming language features are used in practice. They provide answers to questions that help programming languages to evolve.
However, conducting such studies can be difficult and time consuming as they require writing complex static analysis and reporting tools.
We describe a new platform that automates the frequency analysis of language features in Java. It comprises a corpus of open-source software, a query language to specify variant parsers and typecheckers, as well as an automated reporting tool.
This is a list of desired feature with some examples of what we want to achieve.
How are generics used? [2]
Rank array subtype relations (covariance) by frequency [5]
[1] Brian Goetz. Language designer's notebook: Quantitative language design. http://www.ibm.com/developerworks/java/library/j-ldn1/.
[2] Chris Parnin, Christian Bird, and Emerson Murphy-Hill. 2011. Java generics adoption: how new features are introduced, championed, or ignored. In Proceedings of the 8th Working Conference on Mining Software Repositories (MSR '11)
[3] Ewan Tempero, Craig Anslow, Jens Dietrich, Ted Han, Jing Li, Markus Lumpe, Hayden Melton, and James Noble. 2010. The Qualitas Corpus: A Curated Collection of Java Code for Empirical Studies. In Proceedings of the 2010 Asia Pacific Software Engineering Conference (APSEC '10)
[4] Joseph Gil and Keren Lenz. 2010. The use of overloading in JAVA programs. In Proceedings of the 24th European conference on Object-oriented programming (ECOOP '10)
[5] Raoul-Gabriel Urma and Janina Voigt. Using the OpenJDK to Investigate Covariance in Java. Java Magazine May/June 2012.
[a] Refactoring NG. http://kenai.com/projects/refactoringng
[b] Tal Cohen, Joseph (Yossi) Gil, and Itay Maman. 2006. JTL: the Java tools language. In Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (OOPSLA '06)
[c] Browse By Query. http://browsebyquery.sourceforge.net/