This study explores the potential application of program complexity as a tool for assessing children's logical thinking abilities within the context of programming education. We conducted a programming workshop fo...
详细信息
ISBN:
(纸本)9781665453318
This study explores the potential application of program complexity as a tool for assessing children's logical thinking abilities within the context of programming education. We conducted a programming workshop for children and assessed their logical thinking capabilities. The correlation between their test results and the complexity of the programs they developed during the workshop was examined. Results suggest that program complexity is a viable indicator for assessing logical thinking skills in children.
Classes are the basic modules in object-oriented (OO) software, which consist of attributes and methods. Thus, in OO environment, the cohesion is mainly about the tightness of the attributes and methods of classes. Th...
详细信息
Classes are the basic modules in object-oriented (OO) software, which consist of attributes and methods. Thus, in OO environment, the cohesion is mainly about the tightness of the attributes and methods of classes. This paper discusses the relationships between attributes and attributes, attributes and methods, methods and methods of a class based on dependence analysis. Then the paper presents methods to compute these dependencies. Based on these, the paper proposes a method to measure the class cohesion, which satisfies the properties that a good measurement should have. The approach overcomes the limitations of previous class cohesion measures, which consider only one or two of the three relationships in a class.
Keywords cohesion - object-orientation - class - program complexity - dependence analysis
Supported by the National Natural Science Foundation of China under Grant No.60073012; the National Basic Research 973 program of China under Grant No.2002CB312000; the program for Cross-Century Outstanding Teachers of the Ministry of Education; the National Research Foundation for the Doctoral program of Higher Education of China under Grant No.20020286004; the Natural Science Foundation of Jiangsu, China, under Grant ***2001004; the Jiangsu Key Science and Technology Project under Grant ***2001025; the Opening Foundation of State Key Laboratory of Software Engineering in Wuhan University; the Opening Foundation of Jiangsu Key Laboratory of Computer Information Processing Technology in Soochow University.
Zheng-Qiang Chen was born in 1976. He received the M.S. and Ph.D. degrees in computer science in 2000 and 2003, respectively. His current research interests include program analysis, understanding and testing as well as other topics related to reverse engineering. He has published more than 30 technical papers.
Bao-Wen Xu was born in 1961. He received the M.S. and Ph.D. degrees in computer science in 1984 and 2002, respectively. He is a professor in the
In this paper we attempt to formalize some properties which any reasonable control-flow complexity measure must satisfy, and our work is in the same spirit of an earlier paper by Weyuker in this TRANSACTIONS [18]. Sin...
详细信息
In this paper we attempt to formalize some properties which any reasonable control-flow complexity measure must satisfy, and our work is in the same spirit of an earlier paper by Weyuker in this TRANSACTIONS [18]. Since large programs are often built by sequencing and nesting of simpler constructs, we explore how control-flow complexity measures behave under such compositions. Our analysis reveals the strengths and weaknesses of some of the existing control flow complexity measures.
In the early days of software engineering, Edsger Dijkstra warned us not to let the size and complexity of our programs cause us to lose “intellectual control” due to the limited nature of our minds. To my knowledge...
详细信息
In the early days of software engineering, Edsger Dijkstra warned us not to let the size and complexity of our programs cause us to lose “intellectual control” due to the limited nature of our minds. To my knowledge, he never defined precisely what intellectual control was. Our software today is staggeringly larger than the programs of the 1960s, so does that mean we have it under our intellectual control, or did we find ways to make progress without Dijkstra’s high standards? I see signs that we have some software that is under intellectual control and other software that is not. In this column, I’m going to discuss how we can recognize these two categories, what happens when engineers on a project have different attitudes about intellectual control, some advice on when we probably should insist on it, and some ideas about how we achieve it.
This paper presents two techniques for producing synthetic address traces that produce good emulations of the locality of reference of real programs. The first algorithm generates synthetic addresses by simulating a r...
详细信息
This paper presents two techniques for producing synthetic address traces that produce good emulations of the locality of reference of real programs. The first algorithm generates synthetic addresses by simulating a random walk in an infinite address-space with references governed by a hyperbolic probability law. The second algorithm is a refinement of the first in which the address space has a given finite size. The basic model for the random walk has two parameters that correspond to the working set size and the locality of reference. By comparing synthetic traces with real traces of identical locality parameters, we demonstrate that synthetic traces exhibit miss-ratios and lifetime functions that compare well with those of the real traces they mimic, both in fully-associative as well as set-associative memories.
A recent study conducted by Prather on Zipf-Halstead's theory of software metrication points out the need for a theory which can (1) provide a unified approach for bridging the theories of Zipf and Halstead; (2) d...
详细信息
A recent study conducted by Prather on Zipf-Halstead's theory of software metrication points out the need for a theory which can (1) provide a unified approach for bridging the theories of Zipf and Halstead; (2) derive the two program length estimates of Zipf and Halstead; and (3) generate the distribution satisfying Prather's inequalities. Based on Herbert Simon's creative process for scientific discovery, we show that the Simon-Yule model of text provides a promising theory.
The complexity of the flow of control is a measurable attribute that can be used to describe the quality of computer software. A method has been proposed that measures the complexity by the number of crossings, or kn...
详细信息
The complexity of the flow of control is a measurable attribute that can be used to describe the quality of computer software. A method has been proposed that measures the complexity by the number of crossings, or knots, of arcs in a linearization of the flowgraph. There are 3 issues to consider in control flow complexity: 1. linearization, 2. node splitting, and 3. structuring multiple exit loops. Any differences in program linearization lie in the control structure differences. Node splitting can be used to structure flowgraphs which do not contain multiple exit loops. State variables and Boolean variables may be used to structure flowgraphs. Combinations of these basic issues should result in more comprehensive measures of control flow complexity.
To estimate the cost of developing a system and to increase programmer efficiency, the factors affecting program development effort and programmer productivity need to be identified. However, the results of previous ...
详细信息
To estimate the cost of developing a system and to increase programmer efficiency, the factors affecting program development effort and programmer productivity need to be identified. However, the results of previous studies are questionable due to methodological flaws or failure to base them on established theory. Therefore, a filed study was conducted to assess the feasibility of conducting controlled studies of the programming process. COBOL programs from 3 commercial organizations were used to investigate the effects of programming style and programmer skill on the effort required to develop programs and on programming productivity. Using program size as a control variable, results support the idea that using disciplined approaches and well-defined variables leads to more readily interpretable and more conclusive results. However, the study did not control for such factors as quality of the design specifications and the systems support available to programmers during development.
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.
The aim of the present study was to investigate whether time to program repetitive speech movements (RS) would be distinct from time to program non-repetitive speech movements (NRS) when the length of sequences is kep...
详细信息
The aim of the present study was to investigate whether time to program repetitive speech movements (RS) would be distinct from time to program non-repetitive speech movements (NRS) when the length of sequences is kept constant. Using an oral reading task, latencies for the initiation of RS and NRS were measured under two conditions which allowed delineation of the time necessary for perceptual processing separated from actual motor programing. The results show that latencies for NRS were significantly longer than for RS, indicating that the nature of an utterance, not simply its length, is a determinant of program complexity.
暂无评论