Gu-Youngfeng / EfficiencyMiner

This project explores the efficiency of CraTer in terms of time consumption and line efforts reduction.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EfficiencyMiner

GitHub license GitHub license

1. Modules

  • cn.edu.whu.cstar.timer module calculates the average execution time of analysis and prediction of newly-submited crash. This process has the same results with my another prototype CraTer (note that CraTer uses spoon 5.X, while EffciencyMinner uses spoon 6.X).

  • cn.edu.whu.cstar.efforter module calculates the line efforts when apply analysis and prediction on a newly-submitted crash, there are 4 kinds of line efforts calculation ways, including Loc of all methods appear in Stack Trace, Size of frames in Stack Trace, Size of frames till the fault in Stack Trace, Loc of methods in Stack Trace till the fault.

  • cn.edu.whu.cstar.typer module counts the different exception types that one mutator has generated in each project, the default 7 mutators are from pit tool.

  • cn.edu.whu.cstar.simulator module simulates the process of dataset generation, randomization, and stratification. It can return the crashes' original index, which appears in generated dataset.

  • cn.edu.whu.cstar.evaluation module provides a way to conduct model building and class prediction.

2. Tools

3. Inputs

  • crash reports of each project, which collects all stack trace of one project. Note that each stack trace also contains the mutation position.
  • parent project, which includes 7 real-world projects. We need source code as well as the jar file which should be added into classpath.
  • mutation information, which records all detailed mutation information of each mutants by pit tool.

About

This project explores the efficiency of CraTer in terms of time consumption and line efforts reduction.

License:Apache License 2.0


Languages

Language:Java 93.4%Language:HTML 4.9%Language:TeX 1.6%Language:PLSQL 0.1%Language:Makefile 0.0%Language:Shell 0.0%Language:PLpgSQL 0.0%