Enhancing Behavioral Dependency for Effective Computing in Software

Enhancing Behavioral Dependency for Effective Computing in Software

Deepa Bura, Amit Choudhary
Copyright: © 2022 |Pages: 23
DOI: 10.4018/IJSDA.20220701.oa1
Article PDF Download
Open access articles are freely available for download


Software plays an important role in effective computing and communication of any services. It become crucial to identify some critical parts of the software that can lead to enhanced computing and increases efficiency of the software. Dependency plays a significant role in finding relationship amongst classes and predicting change prone classes. This paper aims to enhance Behavioral Dependency by defining 6 types of dependencies amongst classes. These are (i) direct behavioral dependency (ii) indirect behavioral dependency (iii) internal behavioral dependency (iv) external behavioral dependency (v) indirect internal behavioral dependency and (vi) Indirect External Behavioral Dependency. Evaluating these dependencies, gives accurate results for the prediction of change prone classes. Further, paper compares proposed approach with existing methods.
Article Preview

Abdeen et al. (2015) predicted improvement, revision, bug fixing and perfective maintenance are also some of the reasons of a software to change. This necessitates software change to be handled properly.

Mathur et al. (2014) analysed that many software projects fail for one or the other reason. One of the major reasons of software failure is incapability to understand the changing requirements and uncontrolled change propagation. Godara et al. (2018) suggested that classes which are prone to changes needs major consideration as these involve more effort and higher amount of maintenance costs and development costs.

Dependency can be defined as degree of association amongst two classes, if change in structure or behavior of one class affects other classes, dependency is said to exist between the classes. Sharafat and Tahvildari (2008) used Unified Modeling Language (UML) diagrams for the evaluation of dependency amongst classes. And the process of reverse engineering was used to find the degree of relationship amongst classes. Jflex software was used for evaluating the results. However, the evaluated results were based on several assumptions.

Lee et al. (2016) worked on co-change, i.e. if one class is changed it affects the other classes also. Research proposed an approach for prediction of co-change volume, using regression line co change was evaluated. Success rate achieved was around 82%. Research focused only on regression line however other factors were ignored. Arisholm et al. (2004) examined change prone classes using dynamic coupling feature. The proposed method was built on relating the amount of modifications in each class with dynamic coupling feature. Godara & Singh (2-15) proposed a new technique to find change in classes using Artificial Bee Colony algorithm.

Accordingly, the proposed model does not fit into the category of change prediction model as effort was not done to associate the anticipated metrics with changes in future versions. The research mainly focussed on finding the relations amongst dynamic coupling and change prone classes. Elish et al. (2014) used the same concept and extended the work of Arisholm et al. (2004) by removing the existing gap of not considering the changes in future versions. Research derived statistical correlation of coupling metrics and change proneness and indicated coupling metrics as a better indicator of change prone classes from one release to another. Software quality is related with software design. High quality software design can benefit in reduction of maintenance and testing costs. Eski et al. (2011) related change prone classes with quality of software. Research indicated software parts which have poor quality tend to change more frequently.

Complete Article List

Search this Journal:
Volume 12: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 11: 5 Issues (2022)
Volume 10: 4 Issues (2021)
Volume 9: 4 Issues (2020)
Volume 8: 4 Issues (2019)
Volume 7: 4 Issues (2018)
Volume 6: 4 Issues (2017)
Volume 5: 4 Issues (2016)
Volume 4: 4 Issues (2015)
Volume 3: 4 Issues (2014)
Volume 2: 4 Issues (2013)
Volume 1: 4 Issues (2012)
View Complete Journal Contents Listing