SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Bug Cor 63

Inspired by

Original Description

“Class is a JUnit TestCase and implements the setUp method. The setUp method should call super.setUp(), but doesn't.” – 2014-01-30

Detailed Description

In JUnit 3 in every class that inherits from TestCase the developer has to define a setup method where preparations for the test runs are located. In order to assure correct execution, the super method of the setup method has to be called within.

This bug applies to the version 3 of the JUnit library, which is not the current one anymore.

Sample Problem Scenario

<code Java> protected void setUp() throws Exception {

	//Comment
	System.out.println("Setting up test");
	doSomePreparations();
}

</Code>

Sample Fix

<code Java>

	protected void setUp() throws Exception {
	super.setup();
	//Comment
	System.out.println("Setting up test");
	doSomePreparations();
              
}

</Code>

Evaluation Results

Benchmark project Time # Hits Precision Recall
FB JT FB JT Delta FB JT Delta
Apache Tomcat < 1s00 100% 100% 0 100% 100% 0
Argo UML < 1s00 100% 100% 0 100% 100% 0
AWT < 1s00 100% 100% 0 100% 100% 0
Jakarta < 1s00 100% 100% 0 100% 100% 0
Java IO < 1s00 100% 100% 0 100% 100% 0
JHotDraw < 1s00 100% 100% 0 100% 100% 0
jrefactory < 1s00 100% 100% 0 100% 100% 0
JServlet < 1s00 100% 100% 0 100% 100% 0
JUnit 4s01 100% 0% -100% 100% 100% 0 ← The TestCase class itself was detected!
Lexi < 1s00 100% 100% 0 100% 100% 0
Mapper XML < 1s00 100% 100% 0 100% 100% 0
nutch < 1s00 100% 100% 0 100% 100% 0
PMD < 1s00 100% 100% 0 100% 100% 0
quickuml < 1s00 100% 100% 0 100% 100% 0

FB = FindBugs, JT = JTransformer, Delta = JTransformer - FindBug

All measurements were taken on a machine with the following properties:

  • JT Version: 4.0.0
  • Eclipse Kepler
  • Windows 8.1
  • i5 2,30Ghz
  • 8 GB Main Memory
  • SSD Hardrive
teaching/labs/mdse/2013/bug_descriptions/jt-bug-cor63.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2023