Browsing by Subject "Computer software--Testing"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Efficient specification-based testing using incremental techniques(2008-12) Uzuncaova, Engin; Khurshid, SarfrazAs software systems grow in complexity, the need for efficient automated techniques for design, testing and verification becomes more and more critical. Specification-based testing provides an effective approach for checking the correctness of software in general. Constraint-based analysis using specifications enables checking various rich properties by automating generation of test inputs. However, as specifications get more complex, existing analyses face a scalability problem due to state explosion. This dissertation introduces a novel approach to analyze declarative specifications incrementally; presents a constraint prioritization and partitioning methodology to enable efficient incremental analyses; defines a suite of optimizations to improve the analyses further; introduces a novel approach for testing software product lines; and provides an experimental evaluation that shows the feasibility and scalability of the approach. The key insight behind the incremental technique is declarative slicing, which is a new class of optimizations. The optimizations are inspired by traditional program slicing for imperative languages but are applicable to analyzable declarative languages, in general, and Alloy, in particular. We introduce a novel algorithm for slicing declarative models. Given an Alloy model, our fully automatic tool, Kato, partitions the model into a base slice and a derived slice using constraint prioritization. As opposed to the conventional use of the Alloy Analyzer, where models are analyzed as a whole, we perform analysis incrementally, i.e., using several steps. A satisfying solution to the base slice is systematically extended to generate a solution for the entire model, while unsatisfiability of the base implies unsatisfiability of the entire model. We show how our incremental technique enables different analysis tools and solvers to be used in synergy to further optimize our approach. Compared to the conventional use of the Alloy Analyzer, this means even more overall performance enhancements for solving declarative models. Incremental analyses have a natural application in the software product line domain. A product line is a family of programs built from features that are increments in program functionality. Given properties of features as firstorder logic formulas, we automatically generate test inputs for each product in a product line. We show how to map a formula that specifies a feature into a transformation that defines incremental refinement of test suites. Our experiments using different data structure product lines show that our approach can provide an order of magnitude speed-up over conventional techniques.Item A test bed framework for Actuator Management Operating Software (AMOS)(2005-08-15) Hall, John Francis; Tesar, DelbertTraditionally, actuator control has been performed using conventional techniques generally concerned with the steady state output of a single parameter such as speed or torque. However, such methods do not account for the nonlinear dynamics that the actuator often experiences in the real world. In robotic assemblies, motion is dictated solely by actuators. In light of this, the Robotic Research Group at the University of Texas, has spent the past twenty years working to develop an intelligent actuator. Among the chief goals of this device is its ability to overcome faults through the reallocating of resources, identify the need for maintenance, and operate at maximum output in consideration of the demands from its work environment. Research efforts have included a proposed multi-sensor environment, the development of performance maps, a methodology for performing Condition Based Maintenance (CBM), and a multi- tier structure for redundant resources that can be used to avoid fault. In order to actualize the works of RRG researchers, the Software Test Bed has been created. Through the use of a field programmable gate array and realtime controller, software programs perform intelligent control, primarily by providing feed-forward data to a conventional controller. Data fed to the controller is selected from an archive of sensor readings based upon their ability to satisfy performance demands as they pertain to maximum performance, CBM, and fault tolerance. Using decision-making algorithms, the software sets priorities among these intelligent domains as they relate to the application and the system level. The material presented here is intended to give an overview of the Software Test Bed including its inception, present setup, and potential for intelligent control. Examples of past RRG research that can be applied on the test bed has been presented along with a proposed development framework. Comparisons have also been made between the RRG research and that performed by external groups in order to strengthen the overall implementation of this project. Using the information gathered by reviewing research, decision-making algorithms have provided the ability to resolve conflict among the multiple control requirements