Software equivalence checking based on unit testing and symbolic execution

Download
2018
Ünaltay, Burak
Hardware is one of the best representatives of our ever-changing world. For most of the end users this is nothing but a nuisance as they have to renew their electronics each year. For the embedded system designers who has to deal with this change in frontier however it is a definite threat. Embedded system designers have a close relationship to the hardware as the software runs on it highly tuned for the platform it runs on. It is when hardware is completely obsolete this impact reaches its peak because customized software will need heavy refactoring and often times a complete rewrite. One has to be sure to have a functionally equivalent product after this refactoring effort. This requires a costly and lengthy validation process. Sum of all validation efforts for this purpose could be identified as equivalence checking. Here in this study, we lay out a method that automatically deals with problem of equivalence checking. Our method is tested against two evaluation scenarios. In first scenario, our method is tested against small function bodies. In second scenario, it is tested against a larger code example that is closer to a real production code. In both ways of evaluation, our method is able deduce equivalency with a score of 5 out of 6.

Suggestions

A method for product defectiveness prediction by using process enactment data in a small software organization
Sivrioğlu, Damla; Demirörs, Onur; Tarhan, Ayça; Department of Information Systems (2012)
As a part of the quality management, product defectiveness prediction is vital for small software organizations as for instutional ones. Although for defect prediction there have been conducted a lot of studies, process enactment data cannot be used because of the difficulty of collection. Additionally, there is no proposed approach known in general for the analysis of process enactment data in software engineering. In this study, we developed a method to show the applicability of process enactment data for...
Accelerated ray tracing using programmable graphics pipelines
Es, Ş. Alphan; İşler, Veysi; Department of Computer Engineering (2008)
The graphics hardware have evolved from simple feed forward triangle rasterization devices to flexible, programmable, and powerful parallel processors. This evolution allows the researchers to use graphics processing units (GPU) for both general purpose computations and advanced graphics rendering. Sophisticated GPUs hold great opportunities for the acceleration of computationally expensive photorealistic rendering methods. Rendering of photorealistic images in real-time is a challenge. In this work, we inv...
An Automated tool for requirements verification
Tekin, Yaşar; Demirörs, Onur; Department of Information Systems (2004)
In today̕s world, only those software organizations that consistently produce high quality products can succeed. This situation enforces the effective usage of defect prevention and detection techniques. One of the most effective defect detection techniques used in software development life cycle is verification of software requirements applied at the end of the requirements engineering phase. If the existing verification techniques can be automated to meet today̕s work environment needs, the effectiveness ...
An Action research of achievements in a software product line implementation
Ergül, Muhittin Erdem; Bilgen, Semih; Department of Electrical and Electronics Engineering (2014)
Software product lines emphasize, with an innovative approach, the idea of predictive re-use. In this way, significant improvements are provided in cost, time-to-market and quality and market dominance is enabled in the target area. The majority of the academic studies in this area are case studies. In this study it is also intended to provide scientific data to the literature about the achievements brought about by software product lines. First, the challenges in the software development activities perform...
Developing jxta applications for mobile devices and invoking web services deployed in jxta platform from mobile devices
Bahadır, Mesut; Doğaç, Asuman; Department of Computer Engineering (2004)
Today, Peer-to-peer (P2P) computing and Web Services play an important role in networking and computing. P2P computing, that aims addressing all the resources in a network and sharing them, is an old paradigm that gains importance nowadays with the advent of popular file sharing and instant messaging applications. On the other hand, a Web service is a software system that has an interface allowing applications to interact with other applications through Internet or intranet. Providing methods for publishing...
Citation Formats
B. Ünaltay, “Software equivalence checking based on unit testing and symbolic execution,” M.S. - Master of Science, Middle East Technical University, 2018.