Loading...
Please wait, while we are loading the content...
Similar Documents
Improving Program Acceptability Through Source Code Transformations
| Content Provider | Semantic Scholar |
|---|---|
| Author | Dorn, Jonathan |
| Copyright Year | 2016 |
| Abstract | What does it mean for software to be acceptable? The question has an inherently human element. Unlike functional specifications, security requirements, or performance bounds, which may be documented and measured against that documentation, acceptability is simply a determination of whether the software meets the user's needs [76]. The latter frequently subsumes the former: if software does not function, it is unlikely to be acceptable. However, acceptability also includes “non-functional properties” [41], both documented and undocumented. This convenient phrase has been defined in a number of ways by a number of authors (Glinz [41] and Chung and Prado Leite [25] have collected several different definitions). In the broadest sense, this category contains any desired program properties beyond the functional specification. The ambiguity of the term belies the very real impact of such properties. For example, safety properties [43] of airline software are responsible for the safety of hundreds of millions of passengers per year in the U.S. alone [9]. Software developers account for 7 out of every 1000 workers in the U.S. [2, 8], each of whom spends an order of magnitude more time reading code than writing it [62]. Data centers may account for over 1% of global energy consumption [58], an amount significantly affected by the efficiency of the applications deployed in those centers [93]. The stunning visuals that contribute to the billions of dollars brought in by 3D movies each year [1] are generated by programs that must balance the competing properties of speed and image quality. Figure 1 demonstrates the need for an acceptable trade-off with a simple program, orders of magnitude smaller than the programs Pixar uses to draw textures [75]. In part because of the range of factors affecting acceptability, researchers have proposed a variety of methods to help evaluate or ensure it. Many of these methods require significant additional effort beyond the challenge of writing acceptable software. For example, one might construct a formal argument for the safety of a system [46] or conduct targeted code reviews for readability [56]. Other approaches increase the effort of developing the software, requiring a particular design to allow performance optimization [39] or |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.cs.virginia.edu/~jad5ju/documents/proposal.pdf |
| Alternate Webpage(s) | http://www.cs.virginia.edu/~weimer/students/dorn-proposal.pdf |
| Alternate Webpage(s) | https://www.cs.virginia.edu/~weimer/students/dorn-proposal.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |