This paper concems the representation and processing of data resulting from the measurement of programs written in high-level programming languages. The value of various "perspectives" of measurement results...
详细信息
This paper concems the representation and processing of data resulting from the measurement of programs written in high-level programming languages. The value of various "perspectives" of measurement results, especially in languages having many levels of activity, is illustrated. A representation of measurement data based on ideas from relational data bases is presented, in which perspectives can be represented as hierarchically-organized permuted projections of measurement data. Applications described include measurement of Snobol4 and Fortran programs.
A formal model of program complexity developed earlier by the authors is used to derive evaluation criteria for program complexity measures. This is then used to determine which measures are appropriate within, a part...
详细信息
A formal model of program complexity developed earlier by the authors is used to derive evaluation criteria for program complexity measures. This is then used to determine which measures are appropriate within, a particular application domain. A set of rules for determining feasible measures for a particular application domain are given, and an evaluation model for choosing among alternative feasible measures is presented. This model is used to select measures from the classification trees produced by the empirically guided software development environment of Selby and Porter, and early experiments show it to be an effective process.
Code lacking comments, meaningful identifiers, and correct indentation is a nightmare. By studying 30 programs of various sizes to measure what percentage of their source code consisted of comments, meaningful identif...
详细信息
Code lacking comments, meaningful identifiers, and correct indentation is a nightmare. By studying 30 programs of various sizes to measure what percentage of their source code consisted of comments, meaningful identifiers, and whitespace, the author found that more than half of the code served developers rather than the compiler. The relative composition of the three elements was equally distributed and didn't appear to vary with project size. This finding substantiates the view of programming as an art form and the importance of source code in the software development process. Therefore we need to focus management's attention on code and its developers.
A program's working set is the collection of segments recently referenced. This concept has led to efficient methods for measuring a program's intrinsic memory demand. It has assisted in understanding and mo...
详细信息
A program's working set is the collection of segments recently referenced. This concept has led to efficient methods for measuring a program's intrinsic memory demand. It has assisted in understanding and modeling program behavior, and it has been used as the basis of optimal multiprogrammed memory management. The total cost of a working set dispatcher is no larger than the total cost of other common dispatchers. It is unlikely that anyone will find a cheaper nonlookahead memory policy that delivers significantly better *** with real programs revealed that the working set policy is the most likely to generate minimum space-time for any given program, and that one properly chosen control parameter value is normally sufficient to cause any program's working-set space-time to be within 10% of the minimum possible for that program. Working set dispatchers automatically control the level of multiprogramming while maintaining near-minimum space-time for each program.
Results of measuring the performance of the storage management subsystem in an implementation of SNOBOL4 are described. By instrumenting the storage management system, data concerning the size, lifetime, and use of st...
详细信息
Results of measuring the performance of the storage management subsystem in an implementation of SNOBOL4 are described. By instrumenting the storage management system, data concerning the size, lifetime, and use of storage blocks were collected. These data, like those obtained from conventional time measurement techniques, were used to locate program inefficiencies. In addition, these measurements uncovered some deficiencies in the storage management system, and provided the basis upon which to judge the heuristics used in the garbage collector.
AbstractIcon is a new programming language designed primarily for non‐numerical applications. Its roots are in SNOBOL4 and SL5; as in those languages, execution‐time flexibility is an important attribute of Icon, al...
详细信息
AbstractIcon is a new programming language designed primarily for non‐numerical applications. Its roots are in SNOBOL4 and SL5; as in those languages, execution‐time flexibility is an important attribute of Icon, although some aspects of programs are bound at compile time to improve efficiency. Icon, which is implemented in Ratfor, is also intended to be portable and suitable for 16‐bit computers. The storage management system in Icon is designed to meet the goals of portability, flexibility and efficiency. This is accomplished by subdividing the storage management system into a set of type‐specific storage management subsystems. This paper describes the implementation of these subsystems, their interaction, and their perf
It is important to have the ability to measure the performance of programs written in high-level languages since performance measurement enables users to locate and correct program inefficiencies where automatic optim...
详细信息
It is important to have the ability to measure the performance of programs written in high-level languages since performance measurement enables users to locate and correct program inefficiencies where automatic optimizations fail. It also provides a tool for understanding program behavior. This study describes performance measurement facilities for the Icon programming language. It demonstrates: 1. how these facilities provided insight into program behavior, and 2. how they were utilized to improve the implementation. Experience with Icon affirms the importance of incorporating measurement facilities in the initial design of an implementation rather than postponing the task until the implementation is complete. Adding measurement facilities to a completed implementation is generally very difficult. Exhibits.
Developer trust is a major barrier to the deployment of automatically-generated patches. Understanding the effect of a patch is a key element of that trust. We find that differences in sets of formal invariants charac...
详细信息
ISBN:
(纸本)9781728125084
Developer trust is a major barrier to the deployment of automatically-generated patches. Understanding the effect of a patch is a key element of that trust. We find that differences in sets of formal invariants characterize patch differences and that implication-based distances in invariant space characterize patch similarities. When one patch is similar to another it often contains the same changes as well as additional behavior;this pattern is well-captured by logical implication. We can measure differences using a theorem prover to verify implications between invariants implied by separate programs. Although effective, theorem provers are computationally intensive;we find that string distance is an efficient heuristic for implication-based distance measurements. We propose to use distances between patches to construct a hierarchy highlighting patch similarities. We evaluated this approach on over 300 patches and found that it correctly categorizes programs into semantically similar clusters. Clustering programs reduces human effort by reducing the number of semantically distinct patches that must be considered by over 50%, thus reducing the time required to establish trust in automatically generated repairs.
Although outreach is a stated or implied goal of nearly all library systems, there is no universal definition of what constitutes outreach and how to evaluate its success. A survey of institutional guidelines and scho...
详细信息
Although outreach is a stated or implied goal of nearly all library systems, there is no universal definition of what constitutes outreach and how to evaluate its success. A survey of institutional guidelines and scholarly work reveals a range of ideas and some discussion of the concept, but ultimately raises more questions than answers. However, one study of a single public library system provides a glimmer of insight. Focusing on outreach to organizations serving young adults (13 to 18-year-olds), the study articulates possible directions for further research on this vital issue.
暂无评论