This repository has been archived on 2025-12-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

4.8 KiB

Software Maintenance


Explain the RTS Techniques for Procedural Programs using a Table. Highlight advantage and limitations and other key factors for comparison.

Techniques Key factors Advantages Limitations
Dataflow analysis-based Based on dataflow and structural coverage criteria Precise identification of affected def-use pairs Low on safety, imprecise
Slicing-based Based on slicing of programs or dependence graph models Can handle inter-procedural dependencies Low on safety, imprecise, computationally inefficient compared to Dataflow-based
Module level firewall-based Based on analyzing dependencies among modules More efficient as only modified modules are analysed Low on safety, highly imprecise
Modified code entity-based Level of granularity can be adapted Safe, and the most efficient technique Highly imprecise
Textual differencing-based Based on textual differencing of C programs Safe, and easy to implement a prototype Imprecise, and difficult to adapt to other languages, inefficient for large programs
Graph walk-based Based on analysis of control flow models Safe, and the most precise technique Less efficient than Module level firewall-based and Modified code entity-based

Explain the RTS Techniques for Object-Oriented Programs using a Table. Highlight advantage and limitations and other key factors for comparison.

Techniques Key factors Advantages Limitations
Firewall-based Based on dependencies among modules Computationally efficient Unsafe and imprecise, need to be extended to handle certain object-oriented features
Program model-based Based on dependencies among class elements or control flow models Safe, and more precise than Firewall-based, suitable for multiple classes and programs Computationally inefficient compared to Firewall-based, does not consider some common object-oriented constructs, expensive for large programs with small changes
Design model-based Based on different UML design models, assuming traceability between models, source code, and test cases More efficient than Program model-based, suitable large programs, high level of abstraction, independent of the implementation Not safe, less precise than Program model-based
Specification-based Based on requirement models, assuming traceability from the specifications to test cases More efficient than Program model-based, suitable for systems with large test suites, platform-independent Not safe, less precise than Program model-based

References

Biswas, S., Mall, R., Satpathy, M., & Sukumaran, S. (2011). Regression Test Selection Techniques: A Survey. Informatica (Slovenia), 35, 289-321.