Publication | Closed Access
Shared Execution for Efficiently Testing Product Lines
51
Citations
12
References
2012
Year
Unknown Venue
Software MaintenanceEngineeringComputer ArchitectureSoftware EngineeringProduct LinesRelated ProgramsSoftware AnalysisFormal VerificationComputational TestingTest AutomationParallel ComputingRuntime VerificationSystem TestingConcurrent ProgrammingComputer EngineeringSoftware Product LineComputer ScienceProgram OptimizationRuntime SystemSoftware DesignProgram AnalysisSoftware TestingShared ExecutionParallel ProgrammingSymbolic ExecutionSystem Software
A software product line (SPL) is a family of related programs, each of which is uniquely defined by a combination of features. Testing an SPL requires running each of its programs, which may be computationally expensive as the number of programs in an SPL is potentially exponential in the number of features. It is also wasteful since instructions common to many programs must be repeatedly executed, rather than just once. To reduce this waste, we propose the idea of shared execution, which runs instructions just once for a set of programs until a variable read yields multiple values, causing execution to branch for each value until a common execution point that allows shared execution to resume. Experiments show that shared execution can be faster than conventionally running each program from start to finish, despite its overhead.
| Year | Citations | |
|---|---|---|
Page 1
Page 1