With the end of Moores law and the shift towards al- as various challenges in understanding the features and
ternative paradigms for energy and performance gains, characteristics of an input set.
approximate computing has gained considerable trac- Some past projects have explored input-aware ap-
tion in recent years. Approximate computing environ- proximation techniques which elevate the reasoning about
ments obtain gains in performance and/or energy by approximation to the programmer; Others have tried
trading off computational accuracy. The gains afforded tuning their choice of approximation based on the cur-
by many approximation techniques are intimately cou- rent program input [2, 12, 13]. Although adapting to
pled with the inputs provided to the program. Hence, inputs is a good step towards input-independent ap-
reasoning about inputs in a systematic way is an im- proximations, understanding why certain inputs lend
portant and open research problem. In this paper, we themselves to specific approximations would open the
discuss some concerns associated with input dependence door for new techniques that do not need to reactively
and the need to elevate program inputs to first-class cit- be tuned to the input.
izens within the domain of approximate computing. We The difficulty with input dependence arises in the fact
leverage the mature field of software testing for mech- that it is prohibitively expensive (if not intractable) to
anisms and techniques to analyze program inputs and explore the entire input space of an application in order
measure their influence on approximations. We believe to provide guarantees. Fortunately, this is not a new
that, going forward, software testing methodologies will problem in computer science, and has been explored in
become an integral part of the workflow for approximate depth by the software testing community [14]. Software
computing-based systems. testing literature has extensively dealt with providing
quality assurance, verification and validation, and reli-
ability estimation for software. Thus, the approximate
1. THE ISSUE OF INPUT DEPENDENCE computing community can leverage decades of research
Recent projects have illustrated a range of promising in this field to better reason about input dependence
techniques in both hardware and software for utilizing and quality guarantees.
approximate computing across the stack [1, 2, 3, 4, 5, In this paper, we leverage software testing techniques
6, 7, 8]. Many of these techniques, however, use empiri- for analyzing input-dependence in an approximate-computing
cal evaluation methodology with a specific set of inputs framework. The presented parallels from software test-
that may not be fully representative of the entire ap- ing to approximate computing are just an example corol-
plication domain. Consequently, it may be difficult to lary, and we invite further exploration down this path to
generalize the effectiveness of such techniques across the help propel current approximate computing research.
whole application domain. As a result, a technique may
overfit the specific input data, or alternatively, be too 2. SOFTWARE TESTING AND APPROXI-
conservative and fail to benefit from additional approx-
imation opportunities. MATION
At the other end of the spectrum, when data is preva- One facet of the software testing framework is to de-
lent, one can employ machine learning algorithms to cide whether code is good enough to deploy. Many
learn about an applications behavior and amenability bugs exist in the tools and applications a programmer
to approximation [9, 10, 11]. Again, this can be ex- or client uses. However, at some point in the pipeline,
tremely beneficial, but also suffers from a variety of is- a software developer must decide that the code is good
sues, including obtaining access to huge data sets, time- enough for release. The analogy to approximate com-
consuming computations in the learning phase, as well puting naturally follows, in that we desire to also pro-