Java Program Testing

Job ID: 37534497

Budget: ₹1,500 – ₹12,500 INR

Content
Project
For your project, you will perform an empirical evaluation measure the effect of some “independent variable” on a relevant quality attribute you specify. the study is going to be larger and the writing of the report should be in a form of a research paper.

the independent variable is the cause. Its value is independent of other variables in your study. The dependent variable is the effect. Its value depends on changes in the independent variable.the independent variable was the class size. the independent variable was the code smells. In a similar manner, maintainability was the dependent variable, and modularity was the dependent variable

For this project, the independent variable is determined, and it will be the use of design patterns. What you are going to do is to empirically evaluate the effect of using design patterns on some quality attribute. You can choose one of these attributes: maintainability, testability, program comprehension, modifiability, and extensibility.

In order to perform the study in existing software, you need to find instances of design patterns in the software. As you might expect, we have tools for that, called design pattern mining tools. One of these tools, which is easy to use, and reliable, can be downloaded using this link: https://users.encs.concordia.ca/~nikolaos/pattern_detection.html . This tool can find instances of 15 types of GoF design patterns, the paper that describes how the tool works is given in the link above.

The steps of the study are similar to Assignment 1 but with the following constraints:
1. The subject programs: need to use at least 30 programs. In statistics, The number 30 as a sample size is somehow magical! To have a study with some value, the sample size needs to be at least 30.
2. The subject program size needs to be at least 5k. Small programs usually do not contain many patterns as the design is generally simple.

Creativity:
In the paper we discussed in Week 2, there are different approaches to follow in doing an empirical evaluation of the effect of design patterns on quality. Please read the paper findings again, compare the different approaches on how to take the measurements, and decide on an approach that you think will give more precise results. You also might come up with something different. In all cases you need to justify your approach. For example, you might compare the metrics for pattern versus nun-pattern classes, or you can compare between pattern classes and the total classes.

Please refer to the paper of discussion 2 to see what researchers did in previous studies.

Report Format:
You can use any of the well-known formats. For example, the IEEE conference paper format or ACM conference papers.

Report Contents:
The report contains the following sections:
3. Abstract:One or two paragraphs summary of the entire study –typically no more than 300 words in length
4. Introduction: Clarifies the motivation for the work presented and prepares readers for the structure of the paper.
5. Method or Approach: Provides sufficient detail for readers to reproduce the experiments presented in the paper.
6. Results and Discussion: present and discuss the research results,respectively. They are often usefully combined into one section.
7. Threats to Validity: Important section in empirical studies in which we discuss factors that might have influence on the results and what we had done to minimize these threats. Please refer to the article about threats to validity in empirical software engineering.
8. Conclusions: Presents the outcome of the work by interpreting the findings at a higher level of abstraction than the Discussion and by relating these findings to the motivation stated in the Introduction.

This final course project aligns with SLO 4