# How to do SLR

A **systematic literature review** holds a pivotal role in research, especially in the context of secondary research-based scientific endeavors. To appreciate its importance fully, it's essential to distinguish between primary and secondary research methodologies and how they manifest in the realm of computer science.

**Primary research** in computer science often involves direct engagement with subjects. Researchers may seek approvals to conduct experiments, surveys, or interviews with individuals or groups. For instance, imagine a computer scientist designing a user interface for a new software application. They might conduct primary research by directly interacting with potential users to gather feedback on the interface's usability and functionality.

In contrast, **secondary research** in computer science revolves around pre-existing data or leverages the findings of other scholars. This methodology doesn't require approvals or direct questioning of individuals. Within the realm of secondary research, there are various methods, with **literature reviews** and **systematic literature reviews** playing crucial roles.

A conventional **literature review** in computer science offers a panoramic view of prior research within a specific domain. It serves as a broad summary, highlighting the key studies, contributors, and findings within the field. For instance, a computer scientist conducting research on machine learning might perform a literature review to gather insights from existing studies on various machine learning algorithms and their applications.

However, in cases where the body of literature in computer science becomes extensive and multifaceted, the systematic approach of a **systematic literature review** becomes indispensable. Here's why it's vital:

1. **Systematic Analysis:** Unlike a standard literature review, a systematic review adheres to a structured and rigorous methodology. It employs systematic judgments based on predefined criteria, ensuring that the review process is comprehensive and objective. For instance, in computer science, a systematic literature review could be used to analyze a vast number of research papers on a specific machine learning technique, systematically evaluating their methodologies and results.
2. **Comprehensiveness and Objectivity:** When confronted with a vast body of computer science literature, a systematic review aims for comprehensiveness. It strives to include all relevant studies, leaving no room for bias. This approach ensures that the review remains impartial and credible, offering a comprehensive understanding of the state of the art in a particular subfield of computer science.
3. **Transparency and Replicability:** A systematic literature review in computer science adheres to a well-defined protocol, making its process transparent and replicable. This transparency enhances the reliability of its findings and allows other computer scientists to reproduce the review, validate the results, or build upon the existing knowledge.

A systematic literature review is not merely a summary of existing computer science research but rather a meticulous and impartial investigation that addresses empirical questions with clarity and objectivity. It serves as an invaluable resource for computer scientists navigating the extensive body of knowledge within their field, providing a foundation for evidence-based decision-making and further exploration.

### A Step-by-Step Guide Using Kitchenham's Methodology

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/1*x74ybVuwIIhtLh68G_2esQ.png" alt="Systematic Literature Review has the foloowing main steps: 1. Research Questions. 2. Definitions 3. Keywords 4. Databases 5. Develop Query for Search 6. Exclusion and Inclusion Criteria 7. Search Process 8. Data extraction with exclusion and inclusion criteria 9. Data Analysis and Results" width="563"><figcaption><p>Kitchenham's SLR</p></figcaption></figure>

Kitchenham's systematic literature review methodology provides a structured framework for conducting comprehensive and methodical reviews of existing research. Here, we delve into the key steps of this methodology to offer a detailed understanding:

**Step 1: Research Questions**

In the initial step of a **systematic literature review**, it's crucial to define the **research questions** that will guide your study. These questions serve as the foundation upon which the entire review is built.

**Step 2: Definitions**

In most scholarly studies, specialized terminology is used. To ensure clarity and precision in your review, provide **definitions** for key terms used in your research. Organizing these definitions in a **tabular style** can enhance readability and comprehension.

**Step 3: Keywords**

Compile a comprehensive list of **keywords** that you will use to search relevant databases. If your research involves multiple languages, consider presenting these keywords in a **tabular format** for ease of reference and simplification.

**Step 4: Databases**

Specify the **databases** in which you intend to search for relevant literature. Common databases in computer science include IEEE Xplore, SCOPUS, Science Direct, ACM, Web Science, Google Scholar, and more. This step helps establish the scope of your search.

**Step 5: Develop Query for Search**

To address your research questions, formulate a **search string** based on the general principles of your research topic. Conduct **advanced searches** in each selected database, creating a unique search string for each one. This approach leads to more focused results based on your proposed keywords.

**Step 6: Mention the Exclusion and Inclusion Criteria**

Define clear **exclusion and inclusion criteria** to filter the collected literature effectively. For example, inclusion criteria may include factors like publication years, document types, languages, specific databases, and relevant keywords. For instance, the inclusion criteria may be:

1. Papers published between the years 20xx and 20xx.
2. Articles in journals and book chapters
3. documents written in a variety of languages.
4. Papers pertaining to specific databases.
5. Papers relating to certain keywords.

Conversely, exclusion criteria could specify limitations such as publication date restrictions or inaccessible documents. Examples of exclusion criteria include

1. Specific articles published over a specific time period. (For instance: Papers submitted before 2015 will not be considered).
2. Papers that aren’t accessible.
3. Papers that are devoid of information.

**Step 7: Search Process**

Conduct thorough searches in the specified **databases** based on your search strings. After gathering a collection of relevant papers, you can organize them in a **spreadsheet** or a research paper management platform (e.g., Mendeley, Papers, Qippa, Cita, Sente) for further analysis. The spreadsheet can include categories like

1. the date of search
2. database code
3. database details
4. search strings,
5. the paper's title
6. abstract or something similar depending upon your study

**Step 8: Data Extraction with Exclusion and Inclusion Criteria**

At this stage, you'll determine how many documents meet your inclusion and exclusion criteria. Calculate the total number of documents found and then identify how many publications fulfill the inclusion criteria. Provide a **summary** of these findings, highlighting their relevance to your research.

**Step 9: Data Analysis and Results**

In the final steps of your systematic literature review, you will conduct **data analysis**. This may involve creating a **mapping** of the accepted papers from different databases and grouping them by **keywords** relevant to your research questions. This mapping helps both reviewers and readers understand the landscape of the literature. In the end, present your results in a way that aligns with your research questions, offering a clear and comprehensive overview of the existing knowledge in your field.

If you want to read Systematic literature review guidelines yourself, then you can follow these papers:

1. B. Kitchenham, S. Charters, _Guidelines for Performing Systematic Literature Reviews in Software Engineering_, Tech. rep., Technical report, EBSE Technical Report EBSE-2007–01, 2007.
2. K. Petersen, R. Feldt, S. Mujtaba, M. Mattsson, _Systematic mapping studies in software engineering_, in: _12th International Conference on Evaluation and Assessment in Software Engineering_, vol. 17, 2008, p. 1.
3. D. Budgen, M. Turner, P. Brereton, B. Kitchenham, _Using mapping studies in software engineering_, in: _Proceedings of PPIG_, vol. 8, 2008, pp. 195–204.
4. H. Arksey, L. O’Malley, _Scoping studies: towards a methodological framework_, _Int. J. Soc. Res. Meth._ 8 (1) (2005) 19–32.
5. J. Biolchini, P.G. Mian, A.C.C. Natali, G.H. Travassos, _Systematic review in software engineering_, _System Engineering and Computer Science Department COPPE/UFRJ, Technical Report ES_ vol. 679(05), 2005, p. 45.
6. M. Petticrew, H. Roberts, _Systematic Reviews in the Social Sciences: A Practical Guide_, John Wiley & Sons, 2008.
7. B. Kitchenham, P. Brereton, _A systematic review of systematic review process research in software engineering_, _Inf. Softw. Technol._ 55 (12) (2013) 2049–2075.
8. Kai Petersen, Sairam Vakkalanka, Ludwik Kuzniarz, _Guidelines for conducting systematic mapping studies in software engineering: An update_, _Information and Software Technology_, _Volume 64_, 2015.

[![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fdrshahizan\&labelColor=%23697689\&countColor=%23555555\&style=plastic)](https://visitorbadge.io/status?path=https%3A%2F%2Fgithub.com%2Fdrshahizan) ![](https://hit.yhype.me/github/profile?user_id=81284918)
