There is an enormous amount of research going on to minimize the effect of coupling between the software modules and to reduce the defects present in them. In this paper, an algorithmic approach is proposed that gives a probability, such that the highly dependent modules in system must be analyzed by the development team for fault proneness and defects. The higher the coupling, interdependency between the modules is increased and it is alarming issue in software engineering tasks. There is an enormous amount of research done on direct and indirect coupling, but this paper approaches on the effect of coupling to predict defects and how they are propagating between the modules. Every software product is tested for defects and bugs before it is given to acceptance testing to users. The paper focuses on testing the defect propagation percentage of every module in a dependent system (dependent modules).The greater the percentage of defect propagation factor between two dependent module, implies that the coupling between them is higher and the probability of the module to be fault prone increases. Taking this into consideration, the testing team saves the time by considering more on the modules for which the percentage defect propagation factor is higher. It ensures time, cost and efficiency which are the main factors of a software industry.
Context:
Coding is an incremental activity where a developer may need to understand a code before making suitable changes in the code. Code documentation is considered one of the best practices in software development but requires significant efforts from developers. Recent advances in natural language processing and machine learning have provided enough motivation to devise automated approaches for source code documentation at multiple levels.
Objective:
The review aims to study current code documentation practices and analyze the existing literature to provide a perspective on their preparedness to address the said problem and the challenges lie ahead.
Methodology:
We provide a detailed account of the literature in the area of automated source code documentation at different levels and critically analyze the effectiveness of the proposed approaches. This also allows us to infer gaps and challenges to address the problem at different levels.
Findings:
1) The research community focused on method level summarization. 2) Deep learning has dominated the last five years of this research field. 3) Researchers are regularly proposing bigger corpora for source code documentation. 4) Java and Python are the widely used programming languages as corpus. 5) BLEU is the most favored evaluation metric for the research persons.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.