• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. Compiler
  4. Java Corpus Tools

Java Corpus Tools

  • Created by J. Duke, last modified on Jul 09, 2012

[This page is a draft]

Goal

  1. Create a platform to enable language designers and the community to validate extensions to Java.
  2. Encourage and facilitate empirical research of features in Java.

Abstract

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.

Desired Feature

  • Syntactic Queries
    • Where do wildcards appear? 
    • How many number of interfaces defined with one method (SAM types) compared to other interfaces definition?
  • Semantical Queries
    • Rank array subtype relations (covariance) by frequency
  • Reporting
    • Parent node: generic instance -> parametric class name
    • Frequency

Relevant Literature

[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)

Related Projects

[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)

Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 153, "requestCorrelationId": "387a1f6e98034a14"}