Example Boa Programs
Boa is a flexible language, capable of answering a wide variety of software repository mining questions. Here we provide several example questions and Boa programs to answer those questions.
- Programming Languages
- Project Management
- How many projects are created each year?
- How many projects self-classify into each topic provided by SourceForge?
- How many Java projects using SVN were active in 2011?
- In which year was SVN added to Java projects the most?
- How many revisions are there in all Java projects using SVN?
- How many revisions fix bugs in all Java projects using SVN?
- How many committers are there for each project?
- What are the churn rates for all projects?
- How did the number of commits for Java projects using SVN change over years?
- How often are popular Java build systems used?
- Legal
- Platform/Environment
- Source Code
- What are the five largest projects, in terms of AST nodes?
- How many valid Java files in latest snapshot?
- How many fixing revisions added null checks?
- What files have unreachable statements?
- How many generic fields are declared in each project?
- How is varargs used over time?
- How is transient keyword used in Java?
- Software Engineering Metrics
- Program Analysis
Programming Languages
What are the ten most used programming languages?
Run Example | Published Results
How many projects use more than one programming language?
Run Example | Published Results
How many projects use the Scheme programming language?
Run Example | Published Results
Project Management
How many projects are created each year?
Run Example | Published Results
How many projects self-classify into each topic provided by SourceForge?
Run Example | Published Results
How many Java projects using SVN were active in 2011?
Run Example | Published Results
In which year was SVN added to Java projects the most?
Run Example | Published Results
How many revisions are there in all Java projects using SVN?
Run Example | Published Results
How many revisions fix bugs in all Java projects using SVN?
Run Example | Published Results
How many committers are there for each project?
Run Example | Published Results
What are the churn rates for all projects?
Run Example | Published Results
How did the number of commits for Java projects using SVN change over years?
Run Example | Published Results
How often are popular Java build systems used?
Run Example | Published Results
Legal
What are the five most used licenses?
Run Example | Published Results
How many projects use more than one license?
Run Example | Published Results
Platform/Environment
What are the five most supported operating systems?
Run Example | Published Results
Which projects support multiple operating systems?
Run Example | Published Results
What are the five most popular databases?
Run Example | Published Results
What are the projects that support multiple databases?
Run Example | Published Results
How often is each database used in each programming language?
Run Example | Published Results
Source Code
What are the five largest projects, in terms of AST nodes?
Run Example | Published Results
How many valid Java files in latest snapshot?
Run Example | Published Results
How many fixing revisions added null checks?
Run Example | Published Results
What files have unreachable statements?
Run Example | Published Results
How many generic fields are declared in each project?
Run Example | Published Results
How is varargs used over time?
Run Example | Published Results
How is transient keyword used in Java?
Run Example | Published Results
Software Engineering Metrics
What are the number of attributes (NOA), per-project and per-type?
Run Example | Published Results
What are the number of public methods (NPM), per-project and per-type?
Run Example | Published Results
Program Analysis
Dominator Analysis
Run Example | Published Results
Live Variables
Run Example | Published Results