Issue No. 12 - Dec. (2017 vol. 43)
Bernard Nongpoh , Department of Computer Science & Engineering, National Institute of Technology Meghalaya, Shillong, India
Rajarshi Ray , Department of Computer Science & Engineering, National Institute of Technology Meghalaya, Shillong, India
Saikat Dutta , Department of Computer Science & Engineering, Jadavpur University, Kolkata, India
Ansuman Banerjee , Advanced Computing and Microelectronics Unit, Indian Statistical Institute, Kolkata, India
In recent times, approximate computing is being increasingly adopted across the computing stack, from algorithms to computing hardware, to gain energy and performance efficiency by trading accuracy within acceptable limits. Approximation aware programming languages have been proposed where programmers can annotate data with type qualifiers (e.g., precise and approx) to denote its reliability. However, programmers need to judiciously annotate so that the accuracy loss remains within the desired limits. This can be non-trivial for large applications where error resilient and non-resilient program data may not be easily identifiable. Mis-annotation of even one data as error resilient/insensitive may result in an unacceptable output. In this paper, we present
AutoSense, a framework to automatically classify resilient (insensitive) program data versus the sensitive ones with probabilistic reliability guarantee. AutoSense implements a combination of dynamic and static analysis methods for data sensitivity analysis. The dynamic analysis is based on statistical hypothesis testing, while the static analysis is based on classical data flow analysis. Experimental results compare our automated data classification with reported manual annotations on popular benchmarks used in approximate computing literature. AutoSense achieves promising reliability results compared to manual annotations and earlier methods, as evident from the experimental results.
Quality of service, Sensitivity analysis, Approximate computing, Arrays, Probabilistic logic, Manuals
B. Nongpoh, R. Ray, S. Dutta and A. Banerjee, "AutoSense: A Framework for Automated Sensitivity Analysis of Program Data," in IEEE Transactions on Software Engineering, vol. 43, no. 12, pp. 1110-1124, 2017.