The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Strategies for real-time system specification
Strategies for real-time system specification
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental program testing using program dependence graphs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analyzing Regression Test Selection Techniques
IEEE Transactions on Software Engineering
A safe, efficient regression test selection technique
ACM Transactions on Software Engineering and Methodology (TOSEM)
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
Pythia: a regression test selection tool based on textual differencing
ENCRESS '97 IFIP TC5 WG5.4 3rd internatinal conference on on Reliability, quality and safety of software-intensive systems
System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow
Proceedings of the 21st international conference on Software engineering
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Regression test selection for Java software
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Embedded System Design: A Unified Hardware/Software Introduction
Embedded System Design: A Unified Hardware/Software Introduction
Structured Development for Real-Time Systems
Structured Development for Real-Time Systems
Slicing java programs that throw and catch exceptions
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Analysis of Programs with Exception-Handling Constructs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Slicing Objects Using System Dependence Graphs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Exception Handling in Object-Oriented Real-Time Distributed Systems
ISORC '98 Proceedings of the The 1st IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Scaling regression testing to large software systems
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Symbian OS Internals
Embedded System Design
Applying regression test selection for COTS-based applications
Proceedings of the 28th international conference on Software engineering
An industrial case study of structural testing applied to safety-critical embedded software
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
To use or not to use the goto statement: programming styles viewed from Hoare logic
Science of Computer Programming
Data Reverse Engineering using System Dependency Graphs
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Compilers: Principles, Techniques, and Tools (2nd Edition)
Compilers: Principles, Techniques, and Tools (2nd Edition)
Improving the Preciseness of Dependence Analysis Using Exception Analysis
CIC '06 Proceedings of the 15th International Conference on Computing
DSD '07 Proceedings of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools
Operating System Concepts
Which Spot Should I Test for Effective Embedded Software Testing?
SSIRI '08 Proceedings of the 2008 Second International Conference on Secure System Integration and Reliability Improvement
A model-based regression test selection approach for embedded applications
ACM SIGSOFT Software Engineering Notes
Real-Time Systems: Theory and Practice
Real-Time Systems: Theory and Practice
The Effects of Time Constraints on Test Case Prioritization: A Series of Controlled Experiments
IEEE Transactions on Software Engineering
Xest: an automated framework for regression testing of embedded software
WESE '10 Proceedings of the 2010 Workshop on Embedded Systems Education
On the use of a similarity function for test case selection in the context of model-based testing
Software Testing, Verification & Reliability
Task Dependency Analysis for Regression Test Selection of Embedded Programs
IEEE Embedded Systems Letters
Hi-index | 0.00 |
The current approaches for regression test selection of embedded programs are usually based on data- and control-dependency analyses, often augmented with human reasoning. Existing techniques do not take into account additional execution dependencies which may exist among code elements in such programs due to features such as tasks, task deadlines, task precedences, and intertask communications. In this context, we propose a model-based regression test selection technique for such programs. Our technique first constructs a graph model of the program; the proposed graph model has been designed to capture several characteristics of embedded programs, such as task precedence order, priority, intertask communication, timers, exceptions and interrupt handlers, which we consider important for regression-test selection. Our regression test selection technique selects test cases based on an analysis of the constructed graph model. We have implemented our technique to realize a prototype tool. The experimental results obtained using this tool show that, on average, our approach selects about 28.33% more regression test cases than those selected by a traditional approach. We observed that, on average, 36.36% of the fault-revealing test cases were overlooked by the existing regression test selection technique.