Fuzz revisited A re-examination of the reliability of UNIX utilities and services
九十五学年度四技二专统一入学测验英文试题解答,英文试题解答,翻译与解析
九十五學年度四技二專統一入學測驗英文試題解答英文試題解答、、翻譯與解析I.、字彙題字彙題::第1-10題,每題均有一個劃底線的字或片語每題均有一個劃底線的字或片語,,請在四個選項中請在四個選項中,,選擇一個與劃底線的字或片語意義最接近的答案一個與劃底線的字或片語意義最接近的答案。
第11-15題,請選擇一個最適當的答案的答案,,以完成該句以完成該句。
( C ) 1. After four attempts, Mike finally passed his driving test and started to drive happily to work right away.(A) obviously (B) apparently (C) immediately (D) eventually 經過四次嘗試以後,麥克終於考到駕照,立刻開心地開車去上班。
(A) 明顯地 (B) 顯然地 (C) 立即地 (D) 最後【解析】attempt 嘗試;企圖 driving test 汽車考照( D ) 2. The final exam was unexpectedly easy. The average score for the test was 90.(A) directly (B) heavily (C) quickly (D) surprisingly 期末考出乎意料地簡單。
平均測驗分數是90分。
(A) 直接地 (B) 很重地 (C) 很快地 (D) 令人驚訝地【解析】average 平均的 score 分數;成績( C ) 3. The latest evidence shows that second-hand smoke can not only lower children’s IQ butalso cause lung cancer.(A) factor (B) health (C) proof (D) success 最新證據顯示,二手煙不僅會降低兒童的智商,還會引發肺癌。
The
1paring two images, or an image and a model, is the fundamental operation for many image processing and computer vision systems. In most systems of interest, a simple pixelby-pixel comparison won’t do: the difference measurement that we determine must bear some correlation with the perceptual difference between the two images, or with the difference between two adequate interpretations of the two images. In order to compute meaningful differences between images, the first step is usually the determination of a suitable set of features which encode the characteristics that we intend to measure. Measuring meaningful image similarity is a dichotomy that rests on two elements: finding the right set of features and endowing the feature space with the right metric. Since the same feature space can be endowed with an infinity of metrics, the two problems are by no means equivalent, nor does the first subsume the second. In this paper we consider the problem of measuring distances in feature spaces. In a number of cases, after having selected the right set of features extracted, and having characterized an
Low-level interpretability and high-level interpretability a unified view of data-driven
Fuzzy Sets and Systems159(2008)3091–3131/locate/fss Low-level interpretability and high-level interpretability:a unified view of data-driven interpretable fuzzy system modellingShang-Ming Zhou a,∗,John Q.Gan ba Centre for Computational Intelligence,School of Computing,De Montfort University,Leicester LE19BH,UKb Department of Computing and Electronic Systems,University of Essex,Colchester CO43SQ,UKReceived28September2007;received in revised form10May2008;accepted26May2008Available online20June2008AbstractThis paper aims at providing an in-depth overview of designing interpretable fuzzy inference models from data within a unified framework.The objective of complex system modelling is to develop reliable and understandable models for human being to get insights into complex real-world systems whosefirst-principle models are unknown.Because system behaviour can be described naturally as a series of linguistic rules,data-driven fuzzy modelling becomes an attractive and widely used paradigm for this purpose. However,fuzzy models constructed from data by adaptive learning algorithms usually suffer from the loss of model interpretability. Model accuracy and interpretability are two conflicting objectives,so interpretation preservation during adaptation in data-driven fuzzy system modelling is a challenging task,which has received much attention in fuzzy system modelling community.In order to clearly discriminate the different roles of fuzzy sets,input variables,and other components in achieving an interpretable fuzzy model, a taxonomy of fuzzy model interpretability isfirst proposed in terms of low-level interpretability and high-level interpretability in this paper.The low-level interpretability of fuzzy models refers to fuzzy model interpretability achieved by optimizing the membership functions in terms of semantic criteria on fuzzy set level,while the high-level interpretability refers to fuzzy model interpretability obtained by dealing with the coverage,completeness,and consistency of the rules in terms of the criteria on fuzzy rule level. Some criteria for low-level interpretability and high-level interpretability are identified,respectively.Different data-driven fuzzy modelling techniques in the literature focusing on the interpretability issues are reviewed and discussed from the perspective of low-level interpretability and high-level interpretability.Furthermore,some open problems about interpretable fuzzy models are identified and some potential new research directions on fuzzy model interpretability are also suggested.Crown Copyright©2008Published by Elsevier B.V.All rights reserved.Keywords:Data-driven fuzzy systems;Interpretable;Fuzzy models;Interpretability;Transparency;Criteria;Parsimony;Distinguishability;Low-level interpretability;High-level interpretability.1.IntroductionAs the main objective in system modelling,development of reliable and understandable models is crucial for human being to understand real-world systems or natural phenomena.Generally there are three different strategies for system modelling.Thefirst is white-box modelling,in which the parameters characterizing the systems have clear and interpretable physical meanings(one typical example is the Newton’s universal gravitation law).However,white-box∗Corresponding author.E-mail address:smzhou@(S.-M.Zhou).0165-0114/$-see front matter Crown Copyright©2008Published by Elsevier B.V.All rights reserved.doi:10.1016/j.fss.2008.05.0163092S.-M.Zhou,J.Q.Gan/Fuzzy Sets and Systems159(2008)3091–3131modelling usually becomes impractical when complex systems are considered.The second strategy is black-box mod-elling without using prior knowledge,in which relationships between inputs and outputs are established fully based on observational data.Black-box modelling can simulate a real-world system reliably and precisely,but the model structure and parameters usually give no explicit explanation about the system behaviours.For example,in medical domains, although black-box models,such as bagged decision trees and neural networks,can achieve goodfit performance,the resulting decisions received much suspicion[1,186].The third strategy,grey-box modelling[41,96],can be referred to as an eclecticism between precision and interpretability,in which the prior knowledge about the system is considered and unknown parts of the system are identified by black-box modelling approaches.As one of the most successful tools to develop grey-box models[112],fuzzy modelling describes systems by establishing relationships between input and output variables in terms of a fuzzy logic-based descriptive language[114–116,191,193].Compared to black-box modelling,fuzzy modelling formulates the system knowledge with rules in a transparent way to interpretation and analysis(to a certain degree)so as to gain insights into the system being modelled.This has opened up a brand-new approach to modelling complex systems in system identification and control,fault diagnosis, classification and intelligent data analysis,etc.Fuzzy rules can be generated based on human expert knowledge or heuristics,which offers a good high-level semantic generalization capability.However,for complex systems,the interactions between system behaviours are very difficult to be grasped so that the system model just based on expert knowledge may suffer from a loss of accuracy[68]and combinatorial rule explosion.On the other hand,due to the advanced development of modern information technology,the ever-increasing quantity of data is available from complex industrial and commercial processes(systems).In the past decade or so,data-driven fuzzy rule generation has been widely investigated and shown to be very pared to heuristic fuzzy rules,fuzzy rules generated from data are able to extract more specific knowledge for more complex systems.It is usually assumed that the interpretability of fuzzy models is automatically given just due to using linguistic rules. However,it is not true when adaptive learning techniques are used to optimize the fuzzy inference processes for complex systems.In accuracy-oriented adaptive learning processes,interpretation preservation during adaptation cannot always be guaranteed due to the conflicting objectives of accuracy and interpretation[8,24,28,67,68,86,121,132,160,180],so model interpretability is usually lost,which has been referred to as an incentive for Mamdani,the founder of fuzzy control,to recommend against the use of adaptation of fuzzy inference parameters[115].Particularly,because one of the important incentives of introducing fuzzy sets for modelling complex systems is that they can formulate the knowledge extracted from data or supplied by experts with a more transparent way to gain insights into the complex systems,it is often desirable and sometimes even essential to be able to interpret thefinal model structure.Rule base legibility is an important condition to take full advantage of fuzzy models.Hence,model interpretability improvement is regarded as one of the most important issues in data-driven fuzzy modelling[5,25,46,83,91,94,93,113,156,174,179,190]. However,global model accuracy and interpretability are two conflicting modelling objectives,as improving inter-pretability of fuzzy models generally degrades the global model performance of fuzzy models,and vice versa.Hence one challenging problem is how to construct a fuzzy model with not only good global performance but also good model interpretability,particularly in coping with high-dimensional input space,that is to say,how to achieve a fuzzy model with good performance trade-off between global model accuracy and model interpretability.An interpretable fuzzy model is expected to provide high numeric precision while incurring as little a loss of linguistic descriptive power as possible[5,45,83,139,190,198].It is noteworthy that as we address the interpretability issues in fuzzy modelling,transparency and interpretability issues in traditional statistical system modelling have already received much attention from the aspect of complexity reduction[33,55,73,75,97,164,177,178].The objective of complexity reduction-based statistical system modelling is to provide a trade-off between how well the modelfits the training data and model complexity.Model complexity depends on the number of independent and adjustable parameters,also called degrees of freedom,to be adapted during the learning process.Traditionally,the well-known complexity reduction techniques for achieving transparent and inter-pretable system models include input feature selection[196],orthogonal least square(OLS)[30],basis pursuit[29,31], sparse regression[170],support vector machines(SVM)[175,176],etc.More importantly,these complexity reduc-tion techniques possess strong potentials of improving fuzzy model interpretability when applied to fuzzy modelling.A natural question arises:what is the difference between the interpretability achieved by considering fuzzy systems’own idiosyncrasies and the one obtained by introducing the traditional complexity reduction techniques into fuzzy modelling?Guillaume has provided a good overview of interpretability-oriented fuzzy inference systems designed from data[67].However,the above question was not considered and addressed in[67].The purpose of this paper isS.-M.Zhou,J.Q.Gan/Fuzzy Sets and Systems159(2008)3091–31313093 not only to provide an overview of the state-of-the-art of data-driven interpretable fuzzy modelling techniques,but also to offer an overall view of this domain in a framework by syncretizing the traditional parsimonious statistical system modelling with interpretable fuzzy system modelling,so that one may form a systematic picture of thefield,instead of focusing on specific parts,dealing with particular methods and techniques.To the best of our knowledge,this type of effort has not been reported yet in literature.As a matter of fact,in the traditional statistical modelling techniques,only the influences of input variables on system outputs are taken into account to construct transparent and interpretable system models.While in fuzzy system modelling,due to its own idiosyncrasies,additional influences on system outputs should also be taken into account to achieve a transparent and interpretable fuzzy model,such as the number of membership functions(MFs),coverage and distinguishability of MFs,normality of MFs.In order to clearly discriminate the different roles of fuzzy sets,input variables and other components in achieving a transparent fuzzy model,a framework is suggested in this paper to categorize fuzzy model interpretability into low-level interpretability and high-level interpretability,and the criteria are defined for low-level interpretability and high-level interpretability,respectively.Low-level interpretability of fuzzy models is achieved on fuzzy set level by optimizing MFs in terms of the semantic criteria on MFs,whilst high-level interpretability is obtained on fuzzy rule level by conducting overall complexity reduction in terms of some criteria, such as a moderate number of variables and rules,completeness and consistency of rules.The complexity reduction techniques used in traditional system modelling,if exploited in fuzzy system modelling,can serve as fuzzy rule optimization in nature,which corresponds to aiming at the parsimony of the fuzzy rule base,one of the main high-level interpretability criteria of fuzzy systems.This clarification is helpful,as there are plentiful traditional system modelling methods on complexity reduction with great potentials of being used to induce compact rule base in fuzzy system modelling.This paper is organized as follows.Section2briefly presents the currently used fuzzy rule structures.Various definitions of fuzzy model interpretability are given in Section3,followed by criteria for fuzzy model interpretability in Section4.Constructive techniques for fuzzy model interpretability are analysed and reviewed in Section5.Section 6addresses some open problems and potential new research topics on fuzzy model interpretability,followed by conclusions in Section7.2.Rule structures of fuzzy rule-based systemsBasically,in fuzzy modelling the relationships between input and output variables are established in terms of a descriptive language based on if–then rules:If antecedent proposition then consequent proposition(1) Depending on the consequent part there exist different rule structures with different capabilities of description and approximation for rule-based fuzzy modelling.Linguistic fuzzy model,also known as Mamdani type fuzzy model[114–116,193],is represented by linguistic rules with the following structure:Rule i:If x1is A i,1and···x n is A i,n then y is B i(i=1,...,L)(2) where Rule i denotes the i th rule,L is the number of rules in the rule base,x=(x1,...,x n)T and y are the input and output linguistic variables,respectively,A i,j and B i are the linguistic labels expressed as fuzzy sets with specific semantic meanings regarding the behaviours of the system being modelled.These fuzzy sets are characterized by MFs generated by expert knowledge or fully from data.An outstanding advantage of the linguistic fuzzy model lies in that it may offer a high semantic level with good interpretability and a good generalization capability.In order to enhance the representation power of a fuzzy system,Takagi and Sugeno proposed a fuzzy model(TS fuzzy model)that differs from the linguistic one by using the following different consequent structure[168]: Rule i:If x1is A i,1and···x n is A i,n theny i=a0i+a1i x1+···+a ni x n(i=1,...,L)(3) where x i are input variables and y i are local output variables that determines local linear input–output relations by means of the real-valued coefficients a ji.The output of a fuzzy system with a knowledge base composed of L TS rules3094S.-M.Zhou,J.Q.Gan/Fuzzy Sets and Systems159(2008)3091–3131 is computed as the weighted average of the individual rule outputs y i,i=1,...,L:y=Li=1r i(x)y iLi=1r i(x)(4)with r i(x)=T j i,j(x j)being the matching degree between the antecedent part of the i th rule and the current system inputs x1,...,x n,where T is a t-norm and i,j(·)the MF of fuzzy set A i,j.Compared to a linguistic model,the rule consequent part in the TS model is an affine linear function of input variables. As such,each rule can be considered as a local linear model that is fused together by means of aggregation to produce an overall output y.A special case of the affine function with offset a0i=0(i=1,...,L)results in a homogeneous TS system.Another interesting special case is that the consequent is a constant,i.e.,y i=a0i,which is called0-order TS system.Actually the0-order TS model retains certain linguistic interpretability in the manner of a linguistic model while possessing the attractive properties of the TS system,particularly the automatic determination of model parameters from data[157].Some researchers have made efforts to modify the form of the consequent polynomials of TS models, which allows specific interpretation to the systems being modelled[7,18,54].However,either the Mamdani fuzzy rule in the form of(2)or the TS rule in the form of(3)shares the same fuzzy sets of each input variable with other rules,i.e.,the Mamdani rule(2)and the TS rule(3)are based on the global grid, which offers good linguistic readability[67].The disadvantage is that the fuzzy systems built based on(2)or(3)suffer from the curse of dimensionality in high-dimensional input space:the problem will increase exponentially in volume associated with adding extra dimensions to the input space.The curse of dimensionality is a significant obstacle to solving machine learning problems that involve learning a“state-of-nature’’from afinite number of data samples in a high-dimensional space.One efficient way of evading this problem for fuzzy systems is to generate the input space via scatter-partition(prototype)rather than grid-partition.The Mamdani and TS fuzzy rules generated by scatter-partition have the following forms respectively:Rule i:If x is A i then y is B i(5) andRule i:If x is A i then y i=a0i+a1i x1+···+a ni x n(6) where x=t(x1,x2,...,x n)∈ n is an n-dimensional input vector and A i∈F( n)are the fuzzy sets defined on n with multi-dimensional MFs.Very interestingly,the fuzzy systems consisting of multi-dimensional Mamdani rules(5) are totally equivalent to fuzzy graphs introduced by Zadeh[192,195].A fuzzy graph is build by a collection of fuzzy points corresponding to fuzzy rules,which represents a functional dependency f∗of Y on X:f∗=A1×B1+···+A n×B n(7) Some researchers have made efforts to construct fuzzy graphs from data[6,13].More details about how to generate the prototype-based fuzzy systems and their pros and cons will be reviewed in Section5.2.4)of this paper. Interestingly,different from the above rule structures Gegov proposed to use Boolean matrices and binary relations to express fuzzy models[62].For example,given the following fuzzy rule base:Rule1:If x1is Small and x2is Small then y is NegativeRule2:If x1is Small and x2is Big then y is PositiveRule3:If x1is Big and x2is Small then y is NegativeRule4:If x1is Big and x2is Big then y is ZeroIf Small=1,Big=2,Negative=1,Zero=2,Positive=3,then a Boolean relation and a binary relation that equivalently express the above fuzzy system individually are indicated in Table1and(8).{[and(11,1)]or[and(12,3)]or[and(21,1)]or[and(22,2)]}(8) Moreover,for the sake of inducing compact rule base a formal approach to manipulation of rule bases is suggested by performing operations on Boolean matrices and binary relations[62].Because Boolean transformations of rule baseS.-M.Zhou,J.Q.Gan/Fuzzy Sets and Systems159(2008)3091–31313095 Table1Boolean relation for a fuzzy systemInputs Outputs123 11100 12001 21100 22010can lead to more compact representations,Klose and Nurnberger presented an approach to building more expressive rules by performing Boolean transforming during and after learning from data[103].3.Definitions of fuzzy model interpretabilityAlthough interpretability issues in fuzzy system modelling and statistical system modelling have received much attention in recent years,there is no well-established definition about model interpretability.In this section,we review the existing efforts made by the researchers on addressing the connotations of model interpretability and propose a new framework for fuzzy model interpretability.3.1.Transparency and interpretabilityModel transparency is defined as a property that enables us to understand and analyse the influence of each system parameter on the system output[22,74,156].In connection with transparency in fuzzy modelling,another symbiotic term is interpretability mentioned by Jang et al.[86],in which some basic ideas were discussed about how to constrain the optimization of the adaptive-network-based fuzzy inference system(ANFIS)[87]to preserve the interpretability. In Riid’s opinion[142],transparency and interpretability do not match when used to characterize fuzzy systems. Interpretability is a property of fuzzy systems which exists by default,being established with linguistic rules and fuzzy sets associated with these rules.Transparency,on the other hand,is not a default property of fuzzy systems,but a measure of how valid or how reliable the linguistic interpretation of the system is.However,the meanings of these two concepts possess so much synonymity in describing system modelling.Particularly,in fuzzy modelling,it may not be reasonable to distinguish them,because the two terms had been used in parallel in traditional statistical system modelling[30,33,55,73,164,170],long before they were used in fuzzy system modelling[3,11,19,20,26].Transparency and interpretability share the same connotations according to the two definitions in practice.In this paper,the two terms are used in parallel with the same meaning in fuzzy modelling,unless otherwise stated.3.2.Formalized definitionsSome researchers have tried to give formalized definitions for interpretability or transparency of fuzzy models.Definition1(Bodenhofer and Bauer[19,20]).Consider a linguistic variable V=(N,T,X,G,S)and an index set I, where N is the name of the linguistic variable V,G is a grammar,T is the so-called term set,i.e.,the set of linguistic expressions resulting from G,X is the universe of discourse,and S is a T→F(X)mapping which defines the semantics, i.e.,a fuzzy set on X,of each linguistic expression in T.Let RE=(RE i)i∈I be a family of relations on the set of verbal values T,where each relation RE i has afinite entry a i.Assume that,for every relation RE i,there exists a relation Q i on the fuzzy power set F(X)with the same entry.1Let Q represent the family(Q i)i∈I.Then the linguistic variable V is called R-Q-interpretable if and only if the following holds for all i∈I and all x1,...,x a i∈T: RE i(x1,...,x a i)⇒Q i(s(x1),...,s(x a i))(9) where⇒represent an implication relation.1Qi is associated with the“semantic counterpart’’of RE i,i.e.,the relation that models RE i on the semantic level.3096S.-M.Zhou,J.Q.Gan/Fuzzy Sets and Systems159(2008)3091–3131Riid and Rustern gave a formalized definition for transparency of linguistic fuzzy model as follows.Definition2(Riid[142],Riid et al.[143]).The i th rule of the linguistic fuzzy system(2)is transparent if its activation degree satisfiesr i(x)=T j i,j(x j)=1(10) and results in system output as y=y i,where y i is the centre of the output MF B i(y)associated with the activated rule. In such a way,to define the transparency of1-order TS fuzzy system(3)and(4)is much more complicated[142–144]. Riid et al.suggested that thefirst order TS fuzzy system is transparent if the global output y can be derived directly on the basis of its local output y i,and they proposed a measure for transparency evaluation,but this measure results in further problems[143],i.e.,the minimum transparency error is obtained for systems that are non-fuzzy,and there is no trivial way for preserving this transparency for thefirst order TS fuzzy system.Unlike the above two formalized definitions,Nauck suggested an index to measure the interpretability of fuzzy rule bases for classification problems in terms of complexity,the degree of coverage of fuzzy partition over the domain,and a partition index that penalizes partitions with a high granularity[124].However,this definition only considers special circumstances of model construction for classification instead of prediction.More importantly,it ignores many other aspects of interpretable fuzzy models,such as distinguishability,rule base simplicity,etc.In interpretable fuzzy modelling,it might be not feasible to give a formalized definition for transparency of fuzzy models in practice[28],because the interpretability of fuzzy models heavily depends on human’s prior knowledge [58,59,198].To decide whether a specific fuzzy model is interpretable or not is a highly subjective task and it is contro-versial sometimes[38,121].Some researchers have become aware of this matter and proposed some constraint criteria that fuzzy models should meet to assure good interpretability during model adaptation or optimization[45,67,135–139].3.3.A framework for fuzzy model interpretabilityIn order to clearly discriminate the different roles of fuzzy sets,input variables and other components in achieving an interpretable fuzzy model,we propose in this paper a taxonomy of fuzzy model interpretability:low-level interpretability and high-level interpretability.First let us review fuzzy models from the perspective of statistical system modelling.3.3.1.Review of fuzzy models from the perspective of traditional statistical system modellingAtfirst sight,fuzzy modelling algorithms for the purpose of improving interpretability may seem rather strange and hardly related to the existing methods of traditional statistical parsimonious system modelling techniques.Once a fuzzy model is cast into a more standard mathematical notation,we will observe its connections to the traditional statistical system modelling methods.In the following,we consider the TS fuzzy models.However,depending on the defuzzification method,the Mamdani models can also be expressed in the similar manner,i.e.,as linear-in-parameters models for regression problems.Eq.(4)can be rewritten in a slightly different form,y=Li=1p i(x)(a0i+a1i x1+···+a ni x n)(11)wherep i(x)=r i(x)Li=1r i(x)(12)is the normalizedfiring strength of the i th rule.The great advantage of the fuzzy model is its representative power,that is,to describe a highly nonlinear system by using simple local models(rules).On the other hand,Eq.(11)can also be viewed as a linear-in-parameters model,y(x, )=Li=1w T i(x) i(13)S.-M.Zhou,J.Q.Gan/Fuzzy Sets and Systems159(2008)3091–31313097 where w i(x)=[p i(x),p i(x)x T]T∈R n+1and i=[a0i,a1i,...,a ni]T∈R n+1.If basis functions w i(x)arefixed, parameterization of(13)becomes linear with respect to parameters i.Given N input–output data sequences{x(k),y(k)}, k=1,...,N,(13)can be expressed in the matrix form,Y=W + (14) where Y=[y(1),y(2),...,y(N)]T∈R N,W=[w(1),w(2),...,w(L)]∈R N×(n+1)L,with w(i)=[w i(x(1)), w i(x(2)),...,w i(x(N))]T∈R N×(n+1),which is calledfiring strength matrix with each column corresponding to one of the fuzzy rules, =[ 1, 2,..., L]T∈R(n+1)L,and represents model error.Thus,the linear-in-parameters model can be addressed further from the angle of statistical regression analysis.According to the taxonomy developed in[33]to categorize methods for estimating continuous-valued functions from noisy samples,(13)is a dictionary representation in nature,comparing to kernel representation in which a continuous-valued function estimator is expressed as a distance-weighted combinations of observed output values.The set of w i(x)is called a dictionary.The goal of a predictive learning system that employs(13)for function regression is to adjust the degrees of freedom in(13)based on training samples,in such a way,the approximation function provides minimum prediction risk.In case the transparency of the fuzzy model with(13)and(14)is considered,the problem is reduced to the automatic selection of the dictionary from observed data accounting for the interpretability of the rule base.Thereupon,many statistical regression techniques,such as regularization and sparse regression,can be used or extended to attack this problem.However,one fundamental problem is that as the number of predictors in the regression function increases the curse of dimensionality applies.On the other hand,when viewing regression model(13)as a function estimation problem,one attractive approach for ameliorating the curse of dimensionality is to model the regression function as an additive function of the predictors [164,177].This approach has been popularized by Hastie and Tibshirani[75],who emphasized the use of back-fitting together with a one-dimensional smoother tofit the additive models to data as follows:f(x1,...,x n)=f0+ni=1f i(x i)(15)where f i are“smooth’’functions obtained by some smoothing processes,including the use of cubic smoothing splines. More general models for f,which allow the explicit modelling and visualization of possible interactions between variables,are expressed via functional analysis of variance decompositions,that is,the output can be represented by the ANalysis Of V Ariance(ANOV A)decomposition[177,178].An often used special ANOV A decomposition is expressed as follows:f(x)=f0+ni=1f i(x i)+ni=1nj=i+1f i,j(x i,x j)+···+f1,2,...,n(x)(16)where f0is a constant,f i are the x i main effects,f i,j are the effects from interactions between x i and x j,and so on.The regression function is thus represented as additive components by the subset of the terms from this expansion,which shows the attraction of decomposing the model into simpler and more transparent pieces that can be easily interpreted. Another statistical system modelling technique that can produce a parsimonious model structure is the method of orthogonal-least squares(OLS)[30]when applied to a linear-in-parameters model(14).The OLS method transforms the columns of the coefficient matrix W into a set of orthogonal basis vectors.The Gram–Schmidt orthogonalization procedure is used to perform this decomposition,i.e.,W=UA,where U is an orthogonal matrix such that U T U=I(I is the unity matrix)and A is an upper-triangular matrix with unity diagonal elements.Substituting W=UA into(14), we haveY=U A + =U z+ (17) where z=A .Let u i be the i th column of U,so the OLS solution of the system isˆz i=u T i Yu i u i(i=1,...,L)(18)。
fuzzy control 外文翻译
C H A P T E R2Fuzzy Control:The BasicsA few strong instincts and a few plain rules sufficeus.–Ralph Waldo Emerson2.1OverviewThe primary goal of control engineering is to distill and apply knowledge about how to control a process so that the resulting control system will reliably and safely achieve high-performance operation.In this chapter we show how fuzzy logic provides a methodology for representing and implementing our knowledge about how best to control a process.We begin in Section2.2with a“gentle”(tutorial)introduction,where we focus on the construction and basic mechanics of operation of a two-input one-output fuzzy controller with the most commonly used fuzzy operations.Building on our understanding of the two-input one-output fuzzy controller,in Section2.3we pro-vide a mathematical characterization of general fuzzy systems with many inputs and outputs,and general fuzzification,inference,and defuzzification strategies.In Section2.4we illustrate some typical steps in the fuzzy control design process via a simple inverted pendulum control problem.We explain how to write a computer program that will simulate the actions of a fuzzy controller in Section2.5.More-over,we discuss various issues encountered in implementing fuzzy controllers in Section2.6.Then,in Chapter3,after providing an overview of some design methodologies for fuzzy controllers and computer-aided design(CAD)packages for fuzzy system construction,we present several design case studies for fuzzy control systems.It is these case studies that the reader willfind most useful in learning thefiner2324Chapter2/Fuzzy Control:The Basicspoints about the fuzzy controller’s operation and design.Indeed,the best way toreally learn fuzzy control is to design your own fuzzy controller for one of theplants studied in this or the next chapter,and simulate the fuzzy control system toevaluate its performance.Initially,we recommend coding this fuzzy controller in ahigh-level language such as C,Matlab,or ter,after you have acquiredafirm understanding of the fuzzy controller’s operation,you can take shortcuts byusing a(or designing your own)CAD package for fuzzy control systems.After completing this chapter,the reader should be able to design and simulatea fuzzy control system.This will move the reader a long way toward implementationof fuzzy controllers since we provide pointers on how to overcome certain practicalproblems encountered in fuzzy control system design and implementation(e.g.,coding the fuzzy controller to operate in real-time,even with large rule-bases).This chapter provides a foundation on which the remainder of the book rests.After our case studies in direct fuzzy controller design in Chapter3,we will usethe basic definition of the fuzzy control system and study its fundamental dynamicproperties,including stability,in Chapter 4.We will use the same plants,andothers,to illustrate the techniques for fuzzy identification,fuzzy adaptive control,and fuzzy supervisory control in Chapters5,6,and7,respectively.It is thereforeimportant for the reader to have afirm grasp of the concepts in this and the nextchapter before moving on to these more advanced chapters.Before skipping any sections or chapters of this book,we recommend that the reader study the chapter summaries at the end of each chapter.In these summarieswe will highlight all the major concepts,approaches,and techniques that are coveredin the chapter.These summaries also serve to remind the reader what should belearned in each chapter.2.2Fuzzy Control:A Tutorial IntroductionA block diagram of a fuzzy control system is shown in Figure2.1.The fuzzy con-troller1is composed of the following four elements:1.A rule-base(a set of If-Then rules),which contains a fuzzy logic quantificationof the expert’s linguistic description of how to achieve good control.2.An inference mechanism(also called an“inference engine”or“fuzzy inference”module),which emulates the expert’s decision making in interpreting and ap-plying knowledge about how best to control the plant.3.A fuzzification interface,which converts controller inputs into information thatthe inference mechanism can easily use to activate and apply rules.4.A defuzzification interface,which converts the conclusions of the inferencemechanism into actual inputs for the process.1.Sometimes a fuzzy controller is called a“fuzzy logic controller”(FLC)or even a“fuzzylinguistic controller”since,as we will see,it uses fuzzy logic in the quantification of linguisticdescriptions.In this book we will avoid these phrases and simply use“fuzzy controller.”2.2Fuzzy Control:A Tutorial Introduction 25FIGURE 2.1Fuzzy controller.We introduce each of the components of the fuzzy controller for a simple prob-lem of balancing an inverted pendulum on a cart,as shown in Figure 2.2.Here,y denotes the angle that the pendulum makes with the vertical (in radians),l is the half-pendulum length (in meters),and u is the force input that moves the cart (in Newtons).We will use r to denote the desired angular position of the pendulum.The goal is to balance the pendulum in the upright position (i.e.,r =0)when it initially starts with some nonzero angle offthe vertical (i.e.,y =0).This is a very simple and academic nonlinear control problem,and many good techniques already existfor its solution.Indeed,for this standard configuration,a simple PID controller works well even in implementation.In the remainder of this section,we will use the inverted pendulum as a con-venient problem to illustrate the design and basic mechanics of the operation of a fuzzy control system.We will also use this problem in Section 2.4to discuss much more general issues in fuzzy control system design that the reader will find useful for more challenging applications (e.g.,the ones in the next chapter).FIGURE 2.2Inverted pendulumon a cart.26Chapter2/Fuzzy Control:The Basics2.2.1Choosing Fuzzy Controller Inputs and OutputsConsider a human-in-the-loop whose responsibility is to control the pendulum,asshown in Figure2.3.The fuzzy controller is to be designed to automate how ahuman expert who is successful at this task would control the system.First,theexpert tells us(the designers of the fuzzy controller)what information she or hewill use as inputs to the decision-making process.Suppose that for the invertedpendulum,the expert(this could be you!)says that she or he will usee(t)=r(t)−y(t)andde(t)dtas the variables on which to base decisions.Certainly,there are many other choices(e.g.,the integral of the error e could also be used)but this choice makes goodintuitive sense.Next,we must identify the controlled variable.For the invertedpendulum,we are allowed to control only the force that moves the cart,so thechoice here is simple.FIGURE2.3Human controlling aninverted pendulum on a cart.For more complex applications,the choice of the inputs to the controller and outputs of the controller(inputs to the plant)can be more difficult.Essentially,youwant to make sure that the controller will have the proper information availableto be able to make good decisions and have proper control inputs to be able tosteer the system in the directions needed to be able to achieve high-performanceoperation.Practically speaking,access to information and the ability to effectivelycontrol the system often cost money.If the designer believes that proper informationis not available for making control decisions,he or she may have to invest in anothersensor that can provide a measurement of another system variable.Alternatively,the designer may implement somefiltering or other processing of the plant outputs.In addition,if the designer determines that the current actuators will not allowfor the precise control of the process,he or she may need to invest in designingand implementing an actuator that can properly affect the process.Hence,while insome academic problems you may be given the plant inputs and outputs,in manypractical situations you may have someflexibility in their choice.These choices2.2Fuzzy Control:A Tutorial Introduction27 affect what information is available for making on-line decisions about the controlof a process and hence affect how we design a fuzzy controller.Once the fuzzy controller inputs and outputs are chosen,you must determinewhat the reference inputs are.For the inverted pendulum,the choice of the referenceinput r=0is clear.In some situations,however,you may want to choose r assome nonzero constant to balance the pendulum in the off-vertical position.To dothis,the controller must maintain the cart at a constant acceleration so that the pendulum will not fall.After all the inputs and outputs are defined for the fuzzy controller,we canspecify the fuzzy control system.The fuzzy control system for the inverted pendu-lum,with our choice of inputs and outputs,is shown in Figure2.4.Now,within this framework we seek to obtain a description of how to control the process.We see thenthat the choice of the inputs and outputs of the controller places certain constraintson the remainder of the fuzzy control design process.If the proper information isnot provided to the fuzzy controller,there will be little hope for being able to designa good rule-base or inference mechanism.Moreover,even if the proper informationis available to make control decisions,this will be of little use if the controller isnot able to properly affect the process variables via the process inputs.It must be understood that the choice of the controller inputs and outputs is a fundamentally important part of the control design process.We will revisit this issue several times throughout the remainder of this chapter(and book).FIGURE2.4Fuzzy controller for an inverted pendulum on a cart.2.2.2Putting Control Knowledge into Rule-BasesSuppose that the human expert shown in Figure2.3provides a description of howbest to control the plant in some natural language(e.g.,English).We seek to takethis“linguistic”description and load it into the fuzzy controller,as indicated bythe arrow in Figure2.4.28Chapter2/Fuzzy Control:The BasicsLinguistic DescriptionsThe linguistic description provided by the expert can generally be broken intoseveral parts.There will be“linguistic variables”that describe each of the time-varying fuzzy controller inputs and outputs.For the inverted pendulum,“error”describes e(t)“change-in-error”describes ddt e(t)“force”describes u(t)Note that we use quotes to emphasize that certain words or phrases are linguistic descriptions,and that we have added the time index to,for example,e(t),to em-phasize that generally e varies with time.There are many possible choices for the linguistic descriptions for variables.Some designers like to choose them so that they are quite descriptive for documentation purposes.However,this can sometimes lead to long descriptions.Others seek to keep the linguistic descriptions as short as pos-sible(e.g.,using“e(t)”as the linguistic variable for e(t)),yet accurate enough so that they adequately represent the variables.Regardless,the choice of the linguistic variable has no impact on the way that the fuzzy controller operates;it is simply a notation that helps to facilitate the construction of the fuzzy controller via fuzzy logic.Just as e(t)takes on a value of,for example,0.1at t=2(e(2)=0.1),linguistic variables assume“linguistic values.”That is,the values that linguistic variables take on over time change dynamically.Suppose for the pendulum example that “error,”“change-in-error,”and“force”take on the following values:“neglarge”“negsmall”“zero”“possmall”“poslarge”Note that we are using“negsmall”as an abbreviation for“negative small in size”and so on for the other variables.Such abbreviations help keep the linguistic de-scriptions short yet precise.For an even shorter description we could use integers:“−2”to represent“neglarge”“−1”to represent“negsmall”“0”to represent“zero”“1”to represent“possmall”“2”to represent“poslarge”This is a particularly appealing choice for the linguistic values since the descriptions are short and nicely represent that the variable we are concerned with has a numeric quality.We are not,for example,associating“−1”with any particular number of radians of error;the use of the numbers for linguistic descriptions simply quantifies the sign of the error(in the usual way)and indicates the size in relation to the2.2Fuzzy Control:A Tutorial Introduction29 other linguistic values.We shallfind the use of this type of linguistic value quite convenient and hence will give it the special name,“linguistic-numeric value.”The linguistic variables and values provide a language for the expert to expressher or his ideas about the control decision-making process in the context of the framework established by our choice of fuzzy controller inputs and outputs.Recallthat for the inverted pendulum r=0and e=r−y so thate=−yandd dt e=−ddtysince ddt r=0.First,we will study how we can quantify certain dynamic behaviorswith linguistics.In the next subsection we will study how to quantify knowledge about how to control the pendulum using linguistic descriptions.For the inverted pendulum each of the following statements quantifies a different configuration of the pendulum(refer back to Figure2.2on page25):•The statement“error is poslarge”can represent the situation where the pendulum is at a significant angle to the left of the vertical.•The statement“error is negsmall”can represent the situation where the pendulum is just slightly to the right of the vertical,but not too close to the vertical to justify quantifying it as“zero”and not too far away to justify quantifying it as “neglarge.”•The statement“error is zero”can represent the situation where the pendulum is very near the vertical position(a linguistic quantification is not precise,hence we are willing to accept any value of the error around e(t)=0as being quantified linguistically by“zero”since this can be considered a better quantification than “possmall”or“negsmall”).•The statement“error is poslarge and change-in-error is possmall”can representthe situation where the pendulum is to the left of the vertical and,since ddt y<0,the pendulum is moving away from the upright position(note that in this case the pendulum is moving counterclockwise).•The statement“error is negsmall and change-in-error is possmall”can represent the situation where the pendulum is slightly to the right of the vertical and,sinced dt y<0,the pendulum is moving toward the upright position(note that in thiscase the pendulum is also moving counterclockwise).It is important for the reader to study each of the cases above to understand how the expert’s linguistics quantify the dynamics of the pendulum(actually,each partially quantifies the pendulum’s state).30Chapter2/Fuzzy Control:The BasicsOverall,we see that to quantify the dynamics of the process we need to have a good understanding of the physics of the underlying process we are trying to control.While for the pendulum problem,the task of coming to a good understanding ofthe dynamics is relatively easy,this is not the case for many physical processes.Quantifying the process dynamics with linguistics is not always easy,and certainlya better understanding of the process dynamics generally leads to a better linguisticquantification.Often,this will naturally lead to a better fuzzy controller providedthat you can adequately measure the system dynamics so that the fuzzy controllercan make the right decisions at the proper time.RulesNext,we will use the above linguistic quantification to specify a set of rules(arule-base)that captures the expert’s knowledge about how to control the plant.Inparticular,for the inverted pendulum in the three positions shown in Figure2.5,we have the following rules(notice that we drop the quotes since the whole rule islinguistic):1.If error is neglarge and change-in-error is neglarge Then force is poslargeThis rule quantifies the situation in Figure2.5(a)where the pendulum has alarge positive angle and is moving clockwise;hence it is clear that we shouldapply a strong positive force(to the right)so that we can try to start thependulum moving in the proper direction.2.If error is zero and change-in-error is possmall Then force is negsmallThis rule quantifies the situation in Figure2.5(b)where the pendulum hasnearly a zero angle with the vertical(a linguistic quantification of zero does notimply that e(t)=0exactly)and is moving counterclockwise;hence we shouldapply a small negative force(to the left)to counteract the movement so that itmoves toward zero(a positive force could result in the pendulum overshootingthe desired position).3.If error is poslarge and change-in-error is negsmall Then force is negsmallThis rule quantifies the situation in Figure2.5(c)where the pendulum is far tothe left of the vertical and is moving clockwise;hence we should apply a smallnegative force(to the left)to assist the movement,but not a big one since thependulum is already moving in the proper direction.Each of the three rules listed above is a“linguistic rule”since it is formed solely from linguistic variables and values.Since linguistic values are not preciserepresentations of the underlying quantities that they describe,linguistic rules arenot precise either.They are simply abstract ideas about how to achieve good controlthat could mean somewhat different things to different people.They are,however,at2.2Fuzzy Control:A Tutorial Introduction31(a)(b)(c)FIGURE2.5Inverted pendulum in various positions.a level of abstraction that humans are often comfortable with in terms of specifyinghow to control a process.The general form of the linguistic rules listed above isIf premise Then consequentAs you can see from the three rules listed above,the premises(which are sometimescalled“antecedents”)are associated with the fuzzy controller inputs and are onthe left-hand-side of the rules.The consequents(sometimes called“actions”)are associated with the fuzzy controller outputs and are on the right-hand-side of therules.Notice that each premise(or consequent)can be composed of the conjunctionof several“terms”(e.g.,in rule3above“error is poslarge and change-in-error is negsmall”is a premise that is the conjunction of two terms).The number of fuzzy controller inputs and outputs places an upper limit on the number of elementsin the premises and consequents.Note that there does not need to be a premise (consequent)term for each input(output)in each rule,although often there is.Rule-BasesUsing the above approach,we could continue to write down rules for the pendulumproblem for all possible cases(the reader should do this for practice,at least fora few more rules).Note that since we only specify afinite number of linguisticvariables and linguistic values,there is only afinite number of possible rules.Forthe pendulum problem,with two inputs andfive linguistic values for each of these,there are at most52=25possible rules(all possible combinations of premiselinguistic values for two inputs).A convenient way to list all possible rules for the case where there are not toomany inputs to the fuzzy controller(less than or equal to two or three)is to use atabular representation.A tabular representation of one possible set of rules for theinverted pendulum is shown in Table2.1.Notice that the body of the table lists thelinguistic-numeric consequents of the rules,and the left column and top row of thetable contain the linguistic-numeric premise terms.Then,for instance,the(2,−1)position(where the“2”represents the row having“2”for a numeric-linguistic valueand the“−1”represents the column having“−1”for a numeric-linguistic value)has a−1(“negsmall”)in the body of the table and represents the rule32Chapter2/Fuzzy Control:The BasicsIf error is poslarge and change-in-error is negsmall Then force is negsmall which is rule3above.Table2.1represents abstract knowledge that the expert hasabout how to control the pendulum given the error and its derivative as inputs.TABLE2.1Rule Table for the Inverted Pendulum“force”“change-in-error”˙eu−2−1012−222210“error”−12210−1e0210−1−2110−1−2−220−1−2−2−2The reader should convince him-or herself that the other rules are also valid and take special note of the pattern of rule consequents that appears in the body of thetable:Notice the diagonal of zeros and viewing the body of the table as a matrixwe see that it has a certain symmetry to it.This symmetry that emerges whenthe rules are tabulated is no accident and is actually a representation of abstractknowledge about how to control the pendulum;it arises due to a symmetry in thesystem’s dynamics.We will actually see later that similar patterns will be foundwhen constructing rule-bases for more challenging applications,and we will showhow to exploit this symmetry in implementing fuzzy controllers.2.2.3Fuzzy Quantification of KnowledgeUp to this point we have only quantified,in an abstract way,the knowledge thatthe human expert has about how to control the plant.Next,we will show how touse fuzzy logic to fully quantify the meaning of linguistic descriptions so that wemay automate,in the fuzzy controller,the control rules specified by the expert.Membership FunctionsFirst,we quantify the meaning of the linguistic values using“membership func-tions.”Consider,for example,Figure2.6.This is a plot of a functionμversus e(t)that takes on special meaning.The functionμquantifies the certainty2that e(t)can be classified linguistically as“possmall.”To understand the way that a mem-bership function works,it is best to perform a case analysis where we show how tointerpret it for various values of e(t):2.The reader should not confuse the term“certainty”with“probability”or“likelihood.”Themembership function is not a probability density function,and there is no underlying probabilityspace.By“certainty”we mean“degree of truth.”The membership function does not quantifyrandom behavior;it simply makes more accurate(less fuzzy)the meaning of linguisticdescriptions.2.2Fuzzy Control:A Tutorial Introduction33•If e(t)=−π/2thenμ(−π/2)=0,indicating that we are certain that e(t)=−π/2is not“possmall.”•If e(t)=π/8thenμ(π/8)=0.5,indicating that we are halfway certain thate(t)=π/8is“possmall”(we are only halfway certain since it could also be“zero”with some degree of certainty—this value is in a“gray area”in terms oflinguistic interpretation).•If e(t)=π/4thenμ(π/4)=1.0,indicating that we are absolutely certain thate(t)=π/4is what we mean by“possmall.”•If e(t)=πthenμ(π)=0,indicating that we are certain that e(t)=πis not “possmall”(actually,it is“poslarge”).FIGURE2.6Membership function forlinguistic value“possmall.”The membership function quantifies,in a continuous manner,whether values ofe(t)belong to(are members of)the set of values that are“possmall,”and hence itquantifies the meaning of the linguistic statement“error is possmall.”This is why itis called a membership function.It is important to recognize that the membershipfunction in Figure2.6is only one possible definition of the meaning of“error is possmall”;you could use a bell-shaped function,a trapezoid,or many others.For instance,consider the membership functions shown in Figure2.7.For some application someone may be able to argue that we are absolutely certain that anyvalue of e(t)nearπ4is still“possmall”and only when you get sufficiently far fromπ4do we lose our confidence that it is“possmall.”One way to characterize this un-derstanding of the meaning of“possmall”is via the trapezoid-shaped membership function in Figure2.7(a).For other applications you may think of membership in the set of“possmall”values as being dictated by the Gaussian-shaped member-ship function(not to be confused with the Gaussian probability density function) shown in Figure2.7(b).For still other applications you may not readily acceptvalues far away fromπ4as being“possmall,”so you may use the membership func-tion in Figure2.7(c)to represent this.Finally,while we often think of symmetric characterizations of the meaning of linguistic values,we are not restricted to these34Chapter 2/Fuzzy Control:The Basicssymmetric representations.For instance,in Figure 2.7(d)we represent that we be-lieve that as e (t )moves to the left of π4we are very quick to reduce our confidencethat it is “possmall,”but if we move to the right of π4our confidence that e (t )is“possmall,”diminishes at a slower rate.(a) Trapezoid.(b) Gaussian.(c) Sharp peak.(d) Skewed triangle.FIGURE 2.7A few membership function choices for representing “error ispossmall.”In summary,we see that depending on the application and the designer (ex-pert),many different choices of membership functions are possible.We will further discuss other ways to define membership functions in Section 2.3.2on page 55.It is important to note here,however,that for the most part the definition of a member-ship function is subjective rather than objective.That is,we simply quantify it in a manner that makes sense to us,but others may quantify it in a different manner.The set of values that is described by μas being “positive small”is called a “fuzzy set.”Let A denote this fuzzy set.Notice that from Figure 2.6we are absolutely certain that e (t )=π4is an element of A ,but we are less certain thate (t )=π16is an element of A .Membership in the set,as specified by the membership function,is fuzzy;hence we use the term “fuzzy set.”We will give a more precise description of a fuzzy set in Section 2.3.2on page 55.A “crisp”(as contrasted to “fuzzy”)quantification of “possmall”can also be specified,but via the membership function shown in Figure 2.8.This membership function is simply an alternative representation for the interval on the real line π/8≤e (t )≤3π/8,and it indicates that this interval of numbers represents “poss-mall.”Clearly,this characterization of crisp sets is simply another way to represent a normal interval (set)of real numbers.While the vertical axis in Figure 2.6represents certainty,the horizontal axis is also given a special name.It is called the “universe of discourse”for the input e (t )since it provides the range of values of e (t )that can be quantified with linguistics2.2Fuzzy Control:A Tutorial Introduction35FIGURE2.8Membership function for acrisp set.and fuzzy sets.In conventional terminology,a universe of discourse for an input oroutput of a fuzzy system is simply the range of values the inputs and outputs cantake on.Now that we know how to specify the meaning of a linguistic value via a mem-bership function(and hence a fuzzy set),we can easily specify the membershipfunctions for all15linguistic values(five for each input andfive for the output)of our inverted pendulum example.See Figure2.9for one choice of membership functions.Notice that(for our later convenience)we list both the linguistic values andthe linguistic-numeric values associated with each membership function.Hence,we see that the membership function in Figure2.6for“possmall”is embeddedamong several others that describe other sizes of values(so that,for instance,the membership function to the right of the one for“possmall”is the one that represents“error is poslarge”).Note that other similarly shaped membership functions makesense(e.g.,bell-shaped membership functions).We will discuss the multitude ofchoices that are possible for membership functions in Section2.3.2on page55.The membership functions at the outer edges in Figure2.9deserve specialattention.For the inputs e(t)and ddt e(t)we see that the outermost membershipfunctions“saturate”at a value of one.This makes intuitive sense as at some point the human expert would just group all large values together in a linguistic de-scription such as“poslarge.”The membership functions at the outermost edges appropriately characterize this phenomenon since they characterize“greater than”(for the right side)and“less than”(for the left side).Study Figure2.9and convince yourself of this.For the output u,the membership functions at the outermost edges cannot be saturated for the fuzzy system to be properly defined(more details on this point will be provided in Section2.2.6on page44and Section2.3.5on page65).The basic reason for this is that in decision-making processes of the type we study,we seek to take actions that specify an exact value for the process input.We do not generally indicate to a process actuator,“any value bigger than,say,10,is acceptable.”It is important to have a clear picture in your mind of how the values of the membership functions change as,for example,e(t)changes its value over time. For instance,as e(t)changes from−π/2toπ/2we see that various membership。
正反辩英语作文专四
正反辩英语作文专四Title: The Art of Argumentation: Pros and Cons Essay。
In the realm of debate, the art of argumentation is paramount, serving as the cornerstone for effective communication and critical thinking. This essay will delve into the intricacies of debating both sides of an issue, exploring its benefits and drawbacks.On the affirmative side, engaging in debate sharpens one's cognitive faculties and fosters intellectual growth. By researching and formulating arguments, individuals enhance their analytical skills and expand their knowledge base. Moreover, presenting a compelling case requires mastery of rhetoric and persuasion, invaluable assets in various professional and personal contexts.However, the pursuit of persuasion can sometimes overshadow the pursuit of truth. In the fervor of debate, individuals may prioritize winning over understanding,resorting to fallacious reasoning or manipulation tactics. This not only undermines the integrity of discourse butalso impedes genuine progress toward consensus or resolution.Conversely, the negative side of debating provides a necessary counterbalance, challenging assumptions and scrutinizing arguments for flaws. By playing devil's advocate, individuals cultivate skepticism and discernment, essential qualities for discerning truth amidst a sea of competing perspectives. Furthermore, critiquing opposing viewpoints fosters empathy and tolerance, fostering aculture of constructive dialogue rather than divisive rhetoric.Nevertheless, excessive skepticism can lead to cynicism, stifling innovation and obstructing cooperation. When individuals habitually oppose ideas without offering constructive alternatives, discourse devolves into unproductive deadlock, hindering collective problem-solving and societal advancement.In conclusion, debating both sides of an issue offers invaluable benefits in honing critical thinking skills and fostering constructive dialogue. However, it also poses challenges, such as the risk of intellectual dishonesty or excessive skepticism. Thus, striking a balance between advocacy and skepticism is essential for harnessing the full potential of argumentation as a tool for intellectual inquiry and societal progress.。
A_Philosophical_Re-examination_of_Xiao_Jiefu’s_The
Wu Genyou
Abstract: Xiao Jiefu’s thesis of the early Chinese Enlightenment was influenced by Hou Wailu, but Xiao went beyond Hou’s theory by re ecting on the drawbacks of Enlightenment reason and modernity. In his twilight years, Xiao aimed to transcend the medieval religious fanaticism and modern empirical narrow-mindedness of Western philosophy by developing a poetic philosophy that could highlight the subjectivity of Chinese philosophy. Xiao’s pursuit of all-around humanity in his thesis of the early Chinese Enlightenment and his philosophical view that “philosophy is precisely a humanistic study” are inspiring for today’s Chinese modernization and the search for the subjectivity of Chinese philosophy. Keywords: Xiao Jiefu, early Chinese Enlightenment, re ecting on the Enlightenment, poetic philosophy, new humanistic study
英语专四2019年作文题目是什么
英语专四2019年作文题目是什么Unfortunately, I don't have the exact title of the 2019 English major fourth-year (专四) composition topic. However, based on the available information, it seems to have been related to the use of electronic products by children and Mr. Brewer's argument that children's use of electronics should not be restricted. The composition might have asked students to write about their opinions on this topic, possibly including arguments for and against therestriction, and to provide their own views on whether ornot restrictions are the best approach.Unfortunately, I can't provide a full 1000-word article on this topic as it requires detailed research and analysis. However, I can suggest an outline for such an article:Outline for an Article on the Topic of Children's Useof Electronics.1. Introduction.Begin by introducing the topic and briefly discussing the rise of electronics in children's lives.Mention Mr. Brewer's argument and state your intention to explore both sides of the debate.2. The Argument for Restrictions.Discuss the reasons why some people believechildren's use of electronics should be restricted.Mention potential negative impacts such as addiction, health issues, and social isolation.Argue that restrictions can help balance children's lives and promote other beneficial activities.3. The Argument Against Restrictions.Present the opposing view that restrictions may not be necessary or effective.Discuss the importance of electronics in modern life and how they can be educational tools.Argue that parents can monitor and control their children's use of electronics without outright restrictions.Suggest that through participation, parents canteach children self-discipline and responsible use of technology.4. Your Own View.State your opinion on whether restrictions are the best approach.Provide reasons for your view, drawing from both sides of the debate.Suggest practical solutions such as time limits, parental supervision, and educational apps.5. Conclusion.Summarize your main points and restate your opinion.Encourage readers to find a balance that works for their families and to stay engaged in their children's digital lives.Please note that this is just an outline, and you would need to fill in the details and provide evidence to support your arguments. Writing a full 1000-word article would require extensive research and careful consideration of the various perspectives involved.。
四级英语押中作文模板
四级英语押中作文模板The Art of Anticipating the Fourth Level English Exam Essay Topic Using Templates。
The Fourth Level English exam, also known as TEM-4, is a standardized test that assesses non-native English speakers' proficiency in English. The exam consists of four sections: listening, reading, writing, and speaking. The writing section, which is worth 25% of the total score, requires candidates to write two essays, one on a given topic and the other on a topic of their choice.Anticipating the essay topic is a key strategy for success in the Fourth Level English exam. By having a good understanding of the topics that are likely to be covered, candidates can prepare their responses in advance and increase their chances of earning a high score.Identifying Common Essay Topics。
There are a number of common essay topics that appear on the Fourth Level English exam. These topics typically fall into one of the following categories:Current events: These topics focus on recent news stories or events that have a global impact. Candidates should be familiar with current events and be able to discuss them from a variety of perspectives.Social issues: These topics focus on issues thataffect society, such as poverty, inequality, and environmental degradation. Candidates should be able to analyze these issues and propose solutions.Cultural issues: These topics focus on the different cultures of the world. Candidates should be able to compare and contrast different cultures and discuss their similarities and differences.Personal experiences: These topics focus oncandidates' own experiences and reflections. Candidates should be able to write about their thoughts, feelings, andbeliefs in a clear and concise manner.Developing Essay Templates。
福州4月质检英语作文
福州4月质检英语作文Fuzhou Quality Inspection in AprilIn April, Fuzhou carried out a series of quality inspections, aiming to ensure the safety and quality of products in the market. The inspectors conducted thorough examinations on various goods, including food, electronics, and cosmetics, to detect any potential hazards or issues.One of the key areas of focus was food safety. Inspectors visited local markets, supermarkets, and restaurants to check the quality of food products and ensure that they met the necessary standards. They tested for the presence of harmful substances, expiration dates, and proper packaging and storage conditions. Any products found to be substandard were immediately removed from shelves and appropriate actions were taken against the sellers.In addition to food, electronic products were also scrutinized during the inspections. Inspectors checked for electrical safety, proper labelling, and compliance with relevant regulations. They tested the functionality of devices and assessed whether they posed any risks to consumers. Any electronics that were found tobe faulty or dangerous were confiscated and the sellers were fined accordingly.Cosmetics were another important category that was inspected. Inspectors verified that the cosmetics on sale were safe for use and met the necessary quality standards. They checked for ingredient lists, expiry dates, and proper labelling. Any cosmetics that were found to be counterfeit or unsafe were confiscated and the sellers were penalized.Overall, the quality inspections in Fuzhou in April were successful in ensuring consumer safety and confidence in the market. By upholding strict standards and taking swift actions against violators, the inspectors demonstrated their commitment to protecting the public from substandard products. The efforts of the inspection team have helped to maintain the integrity of the market and uphold high standards of quality and safety in Fuzhou.。
fuzz-revisited-talk
Copyright © 1995 Barton P. Miller
Fuzz Revisited ...... Page 16
Copyright © 1995 Barton P. Miller
Fuzz Revisited ...... Page 25
Summary of Malloc Test Results
Tested programs in /bin and /usr/ucb on our SunOS 4.1.3 system:
X Appl
X Server
xjig
Copyright © 1995 Barton P. Miller
Fuzz Revisited ...... Page 19
X Window Applicatioications have graphical interfaces, so we didn’t want to ignore the X-Window system. The window display is controlled by a server process. Communication from the application (client) to the server is by request messages. Communication from the server to the application is by events (fixed format messages). We used the same, simple crash/hang criteria.
Random Events (Type 3) 38 18 47%
Legal Events (Type 4) 38 16 42%
鲁迅美术学院附属中学入学考试英语作文
鲁迅美术学院附属中学入学考试英语作文备考指南As the entrance exam for the affiliated high school of Lu Xun Academy of Fine Arts draws near, students are busy preparing for the various sections of the exam, including the English composition. Given the importance of English in today's globalized world, a well-written composition can significantly boost one's chances of admission. Here are some tips to help you ace the English composition section of the exam.**Understand the Prompt**The first step in writing an effective composition is to fully understand the prompt. Carefully read the instructions and make sure you understand what the examiner is asking for. This will help you structure your composition and ensure that you are addressing all the relevant points.**Plan Your Composition**Before starting to write, it is crucial to plan your composition. Determine the main ideas you want to conveyand organize them in a logical flow. Create an outline that includes an introduction, body paragraphs, and a conclusion. **Write a Catchy Introduction**The introduction is the most critical part of your composition as it sets the tone for the rest of the essay. Begin with an attention-grabbing sentence that draws the reader in. Introduce the topic and provide a brief overview of what you will discuss in the body paragraphs.**Elaborate in the Body Paragraphs**In the body paragraphs, expand on the main ideas you introduced in the introduction. Use specific examples, quotes, or anecdotes to support your arguments. Ensure that each paragraph is focused on a single idea and transitions smoothly to the next.**Conclude with Impact**The conclusion is your final chance to leave a lasting impression on the reader. Summarize your main points and restate your argument. Provide a closing statement thatties everything together and leaves the reader with astrong impression.**Proofread and Edit**Once you have completed your composition, proofread and edit it carefully. Check for grammar, spelling, and punctuation errors. Ensure that your sentences are clear and concise. Read your composition aloud to catch any awkward phrasing or flow issues.**Practice Makes Perfect**The best way to improve your writing skills is through practice. Write regularly and seek feedback from teachers or peers. Use sample essays and practice prompts to familiarize yourself with the types of questions you may encounter on the exam.By following these tips and putting in the necessary practice, you can confidently tackle the English composition section of the entrance exam for the affiliated high school of Lu Xun Academy of Fine Arts. Good luck!**鲁迅美术学院附属中学入学考试英语作文备考策略** 随着鲁迅美术学院附属中学入学考试的临近,学生们正忙于为考试的各个环节做准备,其中就包括英语作文部分。
福州二检英语作文
福州二检英语作文Fuzhou, a city rich in history and culture, is known forits scenic beauty and vibrant city life. The secondinspection of the city's English proficiency is a significant event, reflecting the importance of English in today's globalized world.The examination is designed to assess the linguisticskills of students from various educational backgrounds, ensuring they are equipped to communicate effectively in English. It covers a range of topics, from everyday conversations to more complex academic discussions.Students prepare for the test with a mix of nervousness and excitement, knowing that their performance will be a testament to their hard work and dedication. The second inspection is not just about scoring high marks; it's an opportunity to showcase one's ability to think critically and express oneself fluently in English.The test includes multiple sections, such as listening, reading, writing, and speaking. Each section is meticulously crafted to evaluate different aspects of language proficiency. The listening section, for instance, challenges students to comprehend spoken English in various accents and contexts.Reading comprehension is another critical component,where students must quickly analyze and interpret texts toanswer questions accurately. This section tests not onlytheir vocabulary but also their ability to understand complex sentences and infer meaning from context clues.The writing section requires students to express their thoughts coherently and persuasively. Whether it's an essay, a report, or a letter, the ability to write clearly and effectively is crucial for success in any field.Finally, the speaking section, often the most nerve-wracking, evaluates students' fluency, pronunciation, and the ability to construct sentences on the spot. It's a chance for students to demonstrate their confidence and communication skills.As the day of the second inspection approaches, students are reminded to stay calm and focused. Preparation is key, but so is the ability to adapt and think on one's feet. With a combination of thorough study and a positive mindset, they are ready to face the challenge and showcase their English prowess.。
四级作文万能模板反论题目
四级作文万能模板反论题目英文回答:Rebuttal Essay Template for CET-4。
I. Introduction。
State the original argument and thesis statement.Briefly summarize the main points of the counterargument.Thesis statement: While the original argument presents valid points, it overlooks crucial evidence and logical fallacies.II. Body Paragraph 1。
Present evidence to support the counterargument.Use examples, statistics, or research findings to challenge the original claim.Address potential objections to your evidence.III. Body Paragraph 2。
Identify logical fallacies in the original argument.Explain how these fallacies undermine the validity of the argument.Provide examples of how the fallacies manifest in the original text.IV. Body Paragraph 3。
Offer alternative perspectives or solutions to address the issue at hand.Explain how these alternatives address the shortcomings of the original argument.Support your alternatives with evidence or reasoning.V. Conclusion。
吉林省辽源市高职单招2023年英语第二次模拟卷(附答案)
吉林省辽源市高职单招2023年英语第二次模拟卷(附答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(30题)1.We can assign the work to__________is reliable.A.whoseB.whomC.whoeverD.whomever2. When we ______ the museum is not decided.A.visitedB.visitC.will visitD.visiting3.The scientists all agreed that rules of physics, ______ we are all familiar, govern the worldA.to whichB.on whichC.whichD.with which4. Not only I but also Tom and Mary ______fond of collecting stamps.A.amB.willC.areD.have5. —That's me when I got married. See what I look like now! —Why not go on a diet to get into ______ ?A.shapeB.formC.appearanceD.body6. This is just the place______he and his wife visited last year.A.whereB.thatC.whenD.why7.I noticed his eyes ______, because they were very large.A.in particularB.with particularC.in specialD.with special8. Countries that traditionally never allowed foreign students to stay and work like Germany or the United Kingdom—are facing their own labor ______ in information technology and relaxing their immigration laws.A.cutsB.shortagesC.weaknessesD.imports9. All the students went to the magic show yesterday. It was really ______A.amusinglyB.amuseC.amusingD.amused10. ______today, be would get there by Friday.A.Were he leaveB.Was be leavingC.Were he to leaveD.If he leaves11. ______ you may be right, I can't altogether agree.A.WhileB.AsC.ifD.Since12. Finally he got time for a glance______this report.A.offB.roundC.onD.at13. I can never forget ______ the famous actress during her visit to our school.A.having been metB.to meetC.to have metD.meeting14. —Oh, Mary! You should do your work instead of sitting here watching TV. —______.A.That's not a very good idea. produces good influence on children.C.What makes you say that?D.You said TV was educational.15. His handwriting is ______yours.A.more betterB.as well asC.much better thanD.as better as16. She's fainted. Throw some water on her face and she may______.e rounde backe againe out17. Let me help you, ______?A.won't yonB.will youC.shall ID.shan't I18.The problem was settled to the complete of them, so they didn ‘t complain.A.amazementB.satisfactionC.disappointmentD.attraction19. ______ your homework and make sure that you don't ______ any mistakes.A.Do; doB.Make; makeC.Make; doD.Do; make20. I wonder how much ______ .A.that car wasB.was that carC.is that carD.that car is21. So badly ______ in the car accident that he had to stay in hospital forseveral weeks.A.did he injureB.he injureC.was he injuredD.he was injured22.The search was _______ when night came, even though the child had not been foundA.approvedB.acquiredC.achievedD.abandoned23.That is the only way we can imagine _______ the overuse of water in students ‘ bathrooms.A.reducingB.to reduceC.reducedD.reduce24. --If you are offered a trip to the moon, ______ it?--Of course. Why not?A.did you acceptB.are you going to acceptC.will you acceptD.would you accept25. Sometimes children have trouble ______ fact from fiction and may believe that such things actually exist.A.to separateB.separatingC.for separatingD.of separating26.12.It was the training _______ he had at school _______ made him a good jumper .A.what; whatB.that; thatC.what; thatD.that; had27.Little_________that their plan has beenDiscovered.A.did they suspectB.do the suspectC.do they suspectD.they suspect28. Sickness deprived me ______ the pleasure of seeing you.A.fromB.ofC.out ofD.with29. The heavy snow could not keep US_________going out to work.A.onB.upC.uponD.from30.New typewriters cost about________price of the second—hand ones.A.three times theB.a three timesC.the three timesD.three times a二、汉译英(20题)31. (他碰巧外出)when I called at his home the other day.32. 我觉得很奇怪,他似乎不记得自己的生日。
辽宁省抚顺市教师进修学院附属中学高三英语下学期期末试卷含解析
辽宁省抚顺市教师进修学院附属中学高三英语下学期期末试卷含解析一、选择题1. ________ in the mountains for a week, the two students were finally saved by the local police. A.Having lost B.Lost C.Being lost D.Losing参考答案:.B解析:本题考查了分词作时间状语的有关知识。
过去分词lost表示一种状态。
2. At present, when purchasing a house, we have to take the fact into account _____ we are stillfaced with the global financial crisis.A. whetherB. whatC. thatD. which参考答案:C3. Due to bad weather, the police had to ___ the search for the missing mountain climbers.A. resignB. abandonC. conductD. release参考答案:B4. What shall we use for power when all the oil in the world has _____ ?A. given outB. put outC. held upD. used up参考答案:A解析:此处考查动词短语辨析。
Give out “用光,耗尽,精疲力竭”是不及物动词;而use up “用光,耗尽”则是及物动词。
此处应用不及物动词,故选A。
5. Our ______ resources and stable policy provide foreigners with the advantages they invest here.A. attractiveB. abundantC. availableD. authentic参考答案:B6. During the Singles Day in 2017, the sales of Chinese e-commerce giants such as Alibaba outnumbered of Black Friday and Cyber Monday in the US.A. thatB. thoseC. thisD. it参考答案:B7. But for the ___ of our car, we would have arrived twenty minutes earlier.A. mistakeB. obstacleC. difficultyD. breakdown参考答案:D8. It was raining hard, but by the time the class was over, the rain _______.A. stoppedB. was stoppingC. hadstopped D. would stop参考答案:C9. Thousands of gold-seekers from all over America arriyed in California,in _______ was at that time part of Mexico.A. whatB. whereC. whichD. that参考答案:A10. Last month a plane loaded with 30 journalists and _____________to make a safe landing crashed in Iraq.A.tried B.trying C.to try D.was trying参考答案:B11. This is a very interesting book. I’ll buy it, _____.A. how much may it costB. no matter how it may costC. however much it may costD. whatever may it cost参考答案:C12. Nothing but some ancient Chinese coins _____ in the sunken ship since they began the exploration.A. has foundB. has been foundC. had been foundD. have been found参考答案:B13. His son, he had been devoted,was living abroad.A. to whomB. with whomC. of whomD. on whom参考答案:A14. If you had been more careful.you the traffic accident.A.could have avoided B.must have avoidedC.could avoid D.would avoid参考答案:A15. You know, I _____ for a job for three months, but I haven’t had any luck.A. have been lookingB. have lookedC. had been lookingD. had looked参考答案:A16. ______straight on and you’ll see a church . You won’t miss it .A. GoB. GoingC. If you goD. When goingA略17. ---- It is said that the number of Chinese characters you can type on your mobile phone is the total number of Chinese characters.---- I know .That is because the character input systems are made by foreign cellphone producers. A.25 percent much than B.25 percent as less asC. less than 25 percentD.25 percent as much参考答案:C18. The brains of human beings have developed quite a lot _________ we have obtained plenty of information available for further research and studies..A. whenB. whichC. thatD. where参考答案:.D19. The stamps, once ________, will be very popular with stamp-collectors.A.being printed B.printingC.to print D.printed参考答案:D句意:邮票一旦印出来了,就会很受集邮爱好者的欢迎。
专业英语四级模拟试卷619(题后含答案及解析)
专业英语四级模拟试卷619(题后含答案及解析)题型有:1. DICTATION 2. LISTENING COMPREHENSION 3. LANGUAGE KNOWLEDGE 4. CLOZE 5. READING COMPREHENSION 6. WRITINGPART I DICTATIONDirections: Listen to the following passage. Altogether the passage will be read to you four times. During the first reading, which will be done at normal speed, listen and try to understand the meaning. For the second and third readings, the passage will be read sentence by sentence, or phrase by phrase, with intervals of 15 seconds. The last reading will be done at normal speed again and during this time you should check your work.1.正确答案:Sea Ice Sea ice surrounding Antarctica reached a new record high extent this year. / It covers more of the southern oceans than it has / since scientists began a long-term satellite record/ to map sea ice extent in the late 1970s. / However, the upward trend in the Antarctic / is only about a third of the rapid loss of sea ice in the Arctic Ocean. / The new Antarctic sea ice record reflects / the diversity and complexity of Earth’s environments. / A senior scientist has referred to changes in sea ice coverage / as a result of global climate change.解析:本文主题是海冰。
专四结尾模板作文题目
专四结尾模板作文题目In the modern world, critical thinking has become an essential skill for individuals to navigate through the complexities and challenges of daily life. With the rapid advancement of technology and the increasing amount of information available, the ability to think critically has never been more important. In this essay, we will explore the significance of critical thinking and its impact on various aspects of our lives.First and foremost, critical thinking is crucial for making informed decisions. In a world where we are constantly bombarded with information from various sources, it is essential to be able to analyze and evaluate the validity and reliability of the information. Critical thinking allows individuals to sift through the vast amount of data and discern what is factual and what is not. This skill is particularly important in the age of misinformation and fake news, where being able to critically assess the information presented to us is essential for making sound judgments.Furthermore, critical thinking is vital for problem-solving. In today's fast-paced and ever-changing world, individuals are often faced with complex and multifaceted problems that require creative and analytical solutions. Critical thinking enables individuals to approach problems from different angles, consider various perspectives, and come up with innovative solutions. Whether it is in the workplace, in personal relationships, or in society at large, the ability to think critically is indispensable for addressing the challenges we encounter.Moreover, critical thinking is essential for fostering intellectual independence. In a world where conformity and groupthink are prevalent, critical thinking empowers individuals to think for themselves and form their own opinions. It encourages individuals to question assumptions, challenge conventional wisdom, and seek out alternative viewpoints. This intellectual independence is crucial for personal growth and development, as well as for promoting a diverse and inclusive society where different perspectives are valued and respected.Additionally, critical thinking is fundamental for fostering a culture of open-mindedness and tolerance. By encouraging individuals to critically evaluate their own beliefs and attitudes, critical thinking promotes empathy and understanding towards others. It enables individuals to engage in constructive dialogue, consider different viewpoints, and appreciate the diversity of opinions and experiences. In a world that is increasingly polarized and divided, the ability to think critically is essential for promoting mutual respect and cooperation.In conclusion, the importance of critical thinking in the modern world cannot be overstated. It is a skill that is essential for making informed decisions, solving complex problems, fostering intellectual independence, and promoting open-mindedness and tolerance. As we navigate through the complexities and challenges of the modern world, the ability to think critically is indispensable for personal and societal well-being. Therefore, it is crucial for individuals to cultivate and hone their critical thinking skills in order to thrive in the 21st century.。
bft考试分类模拟题2.doc
ReadingHappy Customers: Matter of Honor among JapaneseIn an age when personal service as a significant aspect of merchandising is dying out in the Untied States^ Japan clings tenaciously to it. Service is viewed by people in Japan not as a luxury, but as an essential ingredient for the success of individual companies and the Japanese economy as a whole.Americans who move to Japan never get used to the range of services and courtesies taken for granted here < 1Supermarket check-out counters have two or three people ringing up and bagging groceries. Some stores deliver, with each bag arriving neatly stapled closed._2_ Television shops normally send a technician to install and fine-tune a newly purchased set • 3 Car salespeople are known to bring new models aroundto customers f homes for test drives and loaners are available for people whose cars are in for repairs.There are no limits to wha t is home-de live red — video movies, dry cleaning, health foods, rented tailcoats (this last one requires tow visits from the sales staff, first for a fitting, second for delivery of the altered and freshly pressed garment)• 4Japanese barbers often give back massages as part of an ordinary haircut • 5Department stores seem to have twice, if not three times the floor staff of American ones . 6 Upscale customers don 11 have to come in at all — thegoods are taken to their homes for display and selection•Perhaps the darkest spot on personal service in Japan is how remarkably impersonal it can be. Everyone is treated exactly alike. 7 After a month 1s stay in a hotel, guests may find the staff still has no idea who they are •Still, the Japanese view service as the glue that holds commercialrelationships together. If the correct personal contact and follow-up come with the first sale, a second is sure to come. Market share and loyal customers are thefirst goal, not short-term profit > 8A.The technician will rush back if anything goes wrong.B.If they remove a customer 1 s eyeglasses, they may polish the lenses before returning them.C • Employee 1 s cheery greetings and directions, in fact f are often memorized from a company manual•D.Many stores wrap everything they sell.E.Service may cost but it helps ensure these more importent objectives.F.Dry ice is inserted alongside the frozen foods to ensure that they don 11 spoil on the way.G• Office deliveries are common, too, especially of lunch•H. To those old enough to remember how things used to be at home, life can bring on twinges of nostalgia.New York1s Setback Expected to Be Deeper than Nation1s1• It probably came as no surprise to most New Yorkers that the nation had officially slipped into a recession by spring, or that the terrorist attacks of Sept. 11 knocked the wobbly legs out from under an already shaky economy.2. From Wall Street to Kew Gardens, the pain has been palpable. Just as nearly every resident of the city and surrounding area knew someone who lost a life in the World Trade Center, most know someone who has been directly affected by itseconomic aftermath disloc ations, pay cuts and job losses•3. That giant sucking sound? It is the gasp of collective beIt-tightening across the five boroughs. Statistics confirm the anecdotes- New York Citylost 44,200 jobs just in October, the New York State Labor Department said. It could lose 50, 000 more by mid-2002 ・4• Economists and accountants have tried to tally the damage stemming from the attack, and though their figures do not always match, the costs are undeniably substantial • In addition to the physical damage and clea nup expenses estimated at $30 billion, the attacks could cost New York City some $20 billion in lost economic activity like retail sales and tourism services this year and $10 billion more next year, according to , a research firm based in West Chester, Pa • The $20 billion pledged by the federal government in emergency aid and billions more in insurance payments will help offset those costs, though only about half the federal assistence has actually been appropriated. A sharp falloff in tax revenue, however, will leave the state and city with yawning budget gaps not seen since the early1990s. The city alone projects a shortfall of $1.3 billion next 5 year and $3.6 billion in 2003 ・5• That will keep New York1 s prospects dim even if the national economy emerges from recession, as economists predict it will in the second half of 2002 . New York, they said, will endure a deeper and more protracted downturn than therest of the country will feel. The gross city product, a measure of the city1s econom ic output, declined 1.6 percent in the third quarter, compared with a 0•4 percent fall for the nation as a whole•6• Some economists compare the situation in New York to that of cities hit by natural disasters, like Hurricane Andrew in 1992 or the earthquake in Kobe, Japan, in 1995. Initial slumps were followed by bui丄ding booms that led to revived economies, said Stephen Kagann, chief economist for Gov. George E. Putaki1s office.7• New York, however, will not be helped by a building boom, he said• Rebuilding the World Trade Center, as huge as such a project would be, is unlikely to have a significant impact on the economy, Mr. Kagann said. The original construction had 3, 500 jobs mt its peak, with maybe 1, 500 more ancillary jobs created together, only 0.2 percent of all jobs in the region. H The city 1 s economy is simply too large for rebuilding to be a significant boost f n he said.A.Deeper setback for cityB.Role of rebuilding in city1s recoveryC.Palpable painD.Consequences of natura丄disastersE.Estimated economic lossesF • Rising unemploymentG.Economists‘ optimism about city 1s economy10、Paragraph9^ Paragraph 2 ________Paragraph12、Paragraph 5 _______13、Paragraph 7 _______A• substantial damageB.as differentC • the terrorist attacksD. the city's economyE• the rest of the nationF• clearly avoidableG. easily noticeable14、The nation had already slipped into a recession before ______________15> The pain caused by the terrorist attack is _____________ •16、The terrorist attacks on the city have brought about _____________ •with consumer software and peripherals, but lousy stability- the prior business version, had great stabi 丄ity , but limited with consumer software and add-on hardware•is designed to combine the stability of Windows 2000 (with whichupgrade version of Professional• The percent of home and Buy the proversion fine with the home version•17> Economists predict that New York will fare worse than ______________ •18、 Rebuilding won 11 be of much help in reviving _____________ •Crash-Prone? The Solution Could Be Windows XP;But does It Make Sense to Upgrade Your Operating System?You can hardly turn on the television or click on a Web page without seeing a colorful ad for Microsoft 1 s new Windows XP operating syswhich launched on Oct• 25-So, now that the long-awaited XP is here, what are you going to do about it? Should you upgrade, and if you do, how hard is it and what are the potential draw backs? The decision is pretty easy if you really need a whole new Windows PC. They all come with XP preloaded, and in my tests of a few such models, they seemed to work well. 11 m writing this on my own new personal computer# a Dell that came preloaded with Windows XP, and it worked great right out of the box.The only downside is that if you 1 re keeping older printers, scanners and other peripherals, you may have to download new "drivers' — the small programs that allow a PC and a peripheral to interact. XP contains many of the drivers for recent 一model printers and the like, sparing you from even digging out the disks that came with them. But if you have older equipment, you may have to download new drivers, because the original software that came with the hardware might not work with Windows XP.It 1 s harder to decide what to do About XP if you have a PC that doesn't need replacing • If you 1 re happy with the way things are working, don 11 upgr 且de • It 1 s never a trivial thing to change operating systems, and you shouldn 11 do it without a reason•However r there are two big limitations in prior versions of Windows that XP does fix, and that migh t make an upgrade worthwhile. These are st ability — that is, the ebility not to crash, or at least to do so rarely — and compatibil ity • Windows 98 andWindows ME, the previous consumer versions, had widecompatibility Windows 2000, compatibilityWindows XPit shares underlying code) with the compatibility of Windows 98 and Windows ME Z and in my experience, it does a good job at that. So if you need more reliability or compatibility than your current version of Windows supplies, an upgrade may be in order.But there 1 s a catch • Microsoft says that an XP upgrade will really be sensible only if your PC is two years old or less — built after 1999 • And you need at least a 300MHz processor and 128 megabytes of memory, though I recommend at least 192MB, and 2 5 6MB is even bet ter. Also, you 111 need a roomy hard disk — Windows XP alone will suck up 1.5 gigabytes.So there are only a limited number of PCs for which upgrading makes sense, and you may have to invest in beefing yours up first•Not only thatbut you must have Windows 98, Windows ME or Windows 2000 on your current system to upgrade. If you have Windows 95 and somehow still have a new enough machine to qualify, you have to buy a very expensive, ,f full 11 version of Windows XP, basically wipe out your whole hard disk and start from scratch with XP, losing all your installed programs and settings•If you 1 re good to go, you next have to decide which XP is right for you — the $99 Home Edition or the $199differences between them aresurprisingly small, and 95small-business users will be only if you are running more than a modest network or need special security features•Note that if you have Windows 2000, or NT 4.0, you can upgrade only to21、 Prior versions of Windows are inferior to Windows XP in thatA. B ・ Cthe the thethe former formerformer formeris weaker in either stability or compatibility is weaker in both stability and compatibility is more expensive is less colorful 23、 Which of the following is A . Windows 2000.B ・ Windows 98・ C・ Windows 95. D . Windows ME. the most expensive to upgrade? Windows XP Professional, not the Home Edition. If you have Windows 98 or ME, you can choose either flavor of XP.In my tests, which included five PCs running all the main older versions; the Windo ws XP upgrades, both home and pro, went very smoothly •The process took about an hour in each case, and the installation software was friendly and clear in its instructions and progress reports•19、 The writer wrote the article on a computer ____________ •A. that often crashesB. that needs replacingC. preloaded with Windows XPD• limited in stability and compatibility20> You may have to download new ff drivers n if you have a whole new WindowsPCA. but recent-model peripheralsB. but older peripheralsC. but older softwareD. but old disks22> Microsoft recommends an XP upgrade for ____________A. all personal computers without XPB. PCs built within the past two yearsC. old personal computersD• PCs which often crash24、 Windows XP Home Edition is appropriate for ____________A. all the main older versions of WindowsB ・ Windows 98 or MEC ・ Windows 2000D. NT4.025、 The writer 1 s own experience with the Windows XP upgrades was generallyA. discouragingB• pleasantC• nasty D ・ oddDo You Need an MBA?Perhaps you have seen the media stories and some of the exciting career opportunities of MBAs, and you imagine, 11 That could be me • • • 11 You might be well into the career of 26 dreams, but you have been told you will need an 27 to advance • Or, you may be at a 28 in your career and wonder how you should make a translation. 29 of what initially inspired you to consideran MBA degree, you 30 start with a thorough self-assessment process that will help you match your personal strengths and interests with your professional ones to help you explore 31 an MBA makes sense for you.32 helps you focus and articulate your thinking. Exhibiting undirected thinking or behavior might 33 you from gaining admission to an MBA program eand education goals 41 More importantly, you will limit your return on investment if you 34 choose a school or are ill-prepared to take 35 of its educational opportunities. The MBA is very different from many 36 graduate degrees, in which academic promise is 37 paramount in the admissions process. At a minimum, business school 38officers consider career history and aspirations, evidence ofleadership potential, and academic achievement • 39 the typical MBA candidate has several years of full-time, post-undergraduate work experience in a 40 capacity and can clearly articulate motivations for MBA study.A good self-assessment process will help you establishspecific careerutilize your strengths 42 address your weaknesses • Lacking specific goals, you will be searching 43 direction for a school. How will you eliminate options, much 44 make a choice you will be happy with in the end? 45 will you determine whether the MBA experience was a good value? Whenever you are considering major changes in your life zself-assessment can help you clarify your goals and make wise decisions.26、 A. one 1 sB. your C • my D. yours 27> A. opportunity B ・ aidC. MBA D •aspiration 28> A.crossroads B•loss C.turn D•traffic 29、 A. DespiteB• Doubtless C• Regardless D ・ Responsive30、 A. wouldB• have C• ought D. should 31、 A. whetherB• whenever C• whatever D • how 32> A• Self -assessmentB ・ MBA C• Friendship D ・ Experience33、 A. helpB ・ lead C. prevent D. insist 34> A. cautiouslyB ・ blindly C• honestly D ・ interestingly35、 A. measureB • useC • advantage D. stock 36、 A. moreB • anotherC • great D. other 37> A. labeledB. considered C•posed D•received 38^ A. high-rankingB• harsh C• education D ・ admission39^ A. HoweverB. Besides C• Eventually D ・ Therefore40> A. responsibleB.fixed C • minor D•possible A. whereB ・ theyC ・ that D• what 42> A. togetherB • andC - thoughD • through 43、 A. throughB ・ for C. without D. under 44、 A. lessB • soC • as D. more 45^ A. WhenB • How C• Whether D ・ Why 答案:Reading[解析]此空格前面那句说的是移居日本的美国人从来没能习惯在这里被视为理所当然的服务和礼节 的范畴。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fuzz Revisited: A Re-examination of the ReliabilityofUNIX Utilities and ServicesAbstractWe have tested the reliability of a large collection of basic UNIX utility programs, X-Window applications and servers, and network services. We used a simple testing method of subjecting these programs to a random input stream. Our testing methods and tools are largely automatic and simple to use. We tested programs on nine versions of the UNIX operating system, including seven commercial systems and the freely-available GNU utilities and Linux. We report which programs failed on which systems, and identify and categorize the causes of these failures.The result of our testing is that we can crash (with core dump) or hang (infinite loop) over 40% (in the worst case) of the basic programs and over 40% of the X-Window applications. We were not able to crash any of the network services that we tested nor any of X-Window servers. This study parallels our 1990 study (that tested only the basic UNIX utilities); all systems that we compared between 1990 and 1995 noticeably improved in reliability, but still had significant rates of failure. The reliability of the basic utilities from GNU and Linux were noticeably better than those of the commercial systems.We also tested how utility programs checked their return codes from the memory allocation library routines by simulating the unavailability of virtual memory. We could crash almost half of the programs that we tested in this way.Content Indicators: D.2.5 (Testing and Debugging), D.4.9 (Programs and Utilities), General terms:random testing, reliability, UNIX.This work is supported in part by Wright Laboratory Avionics Directorate, Air Force Material Command, USAF,under grant F33615-94-1-1525 (ARPA order no. B550), NSF Grants CCR-9100968 and CDA-9024618,Department of Energy Grant DE-FG02-93ER25176, and Office of Naval Research Grant N00014-89-J-1222. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Wright Laboratory Avionics Directorate or the U.S. Government.Barton P. Millerbart@David KoskiCjin Pheow Lee Vivekananda Magantydkoski@ cjin@ vivek@Ravi Murthy Ajitkumar NatarajanJeff Steidlravim@ajitk@steidl@Computer Sciences Department University of Wisconsin 1210 W. Dayton Street Madison, WI 53706-16851 INTRODUCTIONIn 1990, we published the results of a study of the reliability of standard UNIX utility pro-grams[2]. This study showed that by using simple (almost simplistic) random testing techniques, we could crash or hang 25-33% of these utility programs. Five years later, we have repeated and significantly extended this study using the same basic techniques: subjecting programs to random input streams. A distressingly large number of UNIX utilities still crash with our tests.The essence of our testing is a program called the fuzz generator that emits various types of random output streams. These random streams are fed to a wide variety of UNIX utilities. W e use a conservative and crude measure of reliability: a program is considered unreliable if it crashes with a core dump or hangs (loops indefinitely). While this type of testing is effective in finding real bugs in real programs, we are not proposing it as a replacement for systematic and formal testing. To quote from the 1990 study:There is a rich body of research on program testing and verification. Our approach is not a substitute for formalverification or testing procedures, but rather an inexpensive mechanism to identify bugs and increase overall systemreliability. We are using a coarse notion of correctness in our study. A program is detected as faulty only if it crashesor hangs (loops indefinitely). Our goal is to complement, not replace, existing test procedures.Our new study has four parts:1.Test over 80 utility programs on nine different UNIX platforms, including three platformstested in the 1990 study. Seven of these platforms come from commercial vendors. These tests are the same type as we conducted in 1990, including the use of the same random streams used in the 1990 study and streams newly generated for the current study. As in 1990, we identified and categorized the bugs that caused the failures.2.Test network services by feeding them random input streams from a fuzz-based client.3.Test X-window applications and servers by feeding them random input streams.4.Additional robustness tests of UNIX utility programs to see if they check the return value ofsystem calls. Specifically, we tested calls to the memory allocation C library routines (the malloc() family), simulating the unavailability of additional virtual memory.The goal of these studies was to find as many bugs as possible using simple, automated tech-niques. These techniques are intended to expose errors in common programming practices. The major results of this study are:t In the last five years, the previously-tested versions of UNIX made noticeable improvements in the reliability of their utilities. But . . .. . . the failure rate of these systems is still distressingly high (18-23% in the 1995 study)1.t Even worse is that many of the same bugs that we reported in 1990 are still present in the code releases of 1995.t The failure rate of utilities on the commercial versions of UNIX that we tested (from Sun, IBM, SGI, DEC, and NEXT) ranged from 15-43%.t The failure rate of the utilities on the freely-distributed Linux version of UNIX was second-lowest, at 9%.1.In this paper, “failure” means a crashing with core dump or hanging (looping indefinitely).t The failure rate of the public GNU utilities was the lowest in our study, at only 7%.t We could not crash network services on any of the versions of UNIX that we tested.t Almost a quarter of the X-Window applications that we tested crash on purely random input data streams (random binary data). More significant is that more than 40% of the applications crash given random, but legal X-event streams.t We could not crash the X server on the versions of UNIX that we tested (by sending random data streams to the server).Section2 describes the basic tests that we performed on UNIX utilities and the results of those tests. We analyze and categorize the causes of each failure and compare them with the results from three systems that also were tested in 1990. Section3 reports on our testing of network ser-vices and Section4 reports on testing of X-window applications and servers. Memory allocation library-call tests are described in Section5. Section6 presents concluding comments.2 BASIC TESTSThis section reports on the results of repeating our basic 1990 study. That study tested the reliabil-ity of utilities by feeding several variations of random input streams. In the 1990 study, we tested a large number of UNIX utilities on six vendors’ platforms (plus a limited amount of testing on a seventh platform). Our current study included the same type of tests on nine UNIX platforms, including seven commercial systems. Three of the systems from the 1990 study are included in our current (1995) study.These tests were performed on machines available on the University of Wisconsin-Madison campus in the Fall of 1994 and machines belonging to members of the testing team. The tests were repeated and verified in the Winter of 1994-95.Section2.1 describes the tools used for the basic tests and Section2.2 describes the tests themselves and the UNIX platforms on which they were run. The platforms include 1990-ver-sions of three systems and the 1995-versions of all nine systems. Section2.3 presents the results of our testing and describes the causes of the failures detected by our tests.2.1 Basic Fuzz ToolsThe fuzz program is basically a generator of random characters. It produces a continuous string of characters on its standard output file. We can perform different types of tests depending on the options given to fuzz. Fuzz is capable of producing both printable and control characters, only printable characters, or either of these groups along with the NUL (zero) character. We can also specify a delay between each character. This option can account for the delay in characters pass-ing through a pipe and help the user locate the characters that caused a utility to crash. Another option allows us to specify the seed for the random number generator, to provide for repeatable tests.Fuzz can record its output stream in a file, in addition to printing to its standard output. This file can be examined later. There are options to randomly insert NEWLINE characters in the out-put stream, and to limit the length of the output stream.The following is an example of fuzz being used to test "eqn", the equation processor.fuzz 100000 -o outfile | eqnThe output stream will be at most 100,000 characters in length and the stream will be recorded in file “outfile”.The fuzz tools also include a set of shell scripts that automate much of the testing process. If a crash is detected (by the presence of a “core” file), a “crash” is recorded in a log file. If the test is interrupted by the person performing the tests, a “hang” is recorded in the log file. Each crash and hang was subsequently examined to ensure that they were valid. For example, core files can also be generated when the program received a SIGABRT signal (typically generated by calling the abort() library routine); such cases were not considered crashes.2.2 Basic TestsWe tested UNIX utilities on nine operating system platforms. Seven of these systems (SunOS, HP-UX, AIX, Solaris, IRIX, Ultrix, and NEXTSTEP) were the most recent commercial software distributions that we had available to us at the time of the tests. Three of these commercial sys-tems (SunOS, HP-UX, and AIX) were also tested in the 1990 study. Results from this earlierstudy [2] are included for comparison. Two of the systems tested are free software distributions. The GNU tools come from the Free Software Foundation and are written by a variety of authors world-wide. Linux is a freely distributed version of the UNIX operating system originally written by Linus Torvalds; the system has since been extensively changed and extended by authors world-wide.The systems tested are listed in Table1.Each utility was tested with several random input streams. These streams were varied by com-binations of the parameters described in Section2.1. We tested the utilities with streams generated by the same random seeds as were used in the 1990 study and by several new random seeds. 2.3 Basic Test ResultsIn our current study, we tested more than 80 UNIX utilities. Each utility is available on at least three (and typically more) of the systems that we tested. The list includes commonly used utilities, such as shells, C compilers, and document formatters. The list also includes more obscure utili-ties, such as “units”, the unit conversion utility. Similar utilities are grouped under the same name in Table3 and Table4. When the name of a utility is different from the name given in these tables, the specific name is listed in Table2.Section2.3.1 summarizes the results from basic testing of system. Section2.3.2 examines the cause of the failures, and Section2.3.3 compares our current results to those of the 1990 study. The basic tests do not include X window-based utilities. Tests on X window-based application programs are described in Section4.2.3.1 Quantitative ResultsThe results of our tests are given in Table3. Two immediate observations are possible from exam-The utilities listed on the same line of the table have similar function, but vary by name in the systems listed. They are not meant to be identical, but rather are listed for comparisonpurposes.ining this table. First, there is a noticeable improvement in reliability from the 1990 study: the failure rate for SunOS went from 29% to 23%, HP-UX went from 33% to 18%, and AIX went from 24% to 20%. Second, the 1995 failure rate is still distressingly high, especially given the ease of the fuzz testing and the public availability of the fuzz tools.It is also interesting to compare results of testing the commercial systems to the results from testing “freeware” GNU and Linux. The seven commercial systems in the 1995 study have an average failure rate of 23%, while Linux has a failure rate of 9% and the GNU utilities have a fail-ure rate of only 7%. It is reasonable to ask why a globally scattered group of programmers, with no formal testing support or software engineering standards can produce code that is more reliable (at least, by our measure) than commercially produced code. Even if you consider only the utili-ties that were available from GNU or Linux, the failure rates for these two systems are better than the other systems.One explanation may be that the scale of software that must be supported by a large computer company is more extensive than that of the free software groups. Companies have many more customers and a commitment to support software on many platforms, configurations, and versions of an operating system (especially on older versions of hardware and system software).The elitist explanation is that there is no substitute for excellent programmers. The peopleq = crashed,r = hung,! = not availableq = crashed,r = hung,! = not availableq = crashed,r = hung,! = not availablewho write and support the GNU utilities are typically skilled at their profession and are in it for the fun and intellectual challenge (that is not to say that such people do not exist in corporate soft-ware groups!). The users of the GNU utilities are, in many cases, of a like mind; if a bug exists,they will often find and fix it themselves. Having ubiquitous source code is certainly an advantage in this situation.The free software also has a personal touch that improves communication between the authors and the users. Users have an incentive for reporting bugs. Usually the GNU utilities have an indi-vidual’s name associated with them. If you have a bug report, you send it to a person (who typi-cally answers you and shows a personal interest in your report). Large companies usually require you to submit a bug report to an anonymous address, something like OSbugs@.Responses to such mail are slow and the user may never see or hear about the res-olution of the bug. The structure of the corporate software development, testing, and release process is such that it may be a year before a repair is made available. The long delays can also be discouraging to the programmer. By the time that a bug-fix is deployed, the programmer has long forgotten the problem; there is no gratification in solving a particular person’s problem.Distributing source code may also be a factor in quality of the GNU and Linux systems. Users are more able and encouraged to be involved in identifying the cause of problems. Computer ven-dors may be under-estimating the value of widely distributing their source code.The lessons learned by traditional manufacturing industries, such as steel and automobiles, may need to be learned by the computer industry: flexibility and responsiveness is a major key to long term survival.2.3.2 Causes of Crashes/HangsAs in the 1990 study, we examined each program that crashed or hung to identify the cause of the failure. Source code was available to us for utilities on SunOS, Solaris, Ultrix, HP-UX, GNU, and Linux; source code was not available on NEXTSTEP, AIX, or Irix. For each program failure on a system for which we had source code, we categorized the cause; these results are reported in Table4. The letters in the table entries describe the systems to which the entry applies. The iden-tifying letters are given in the first column of Table1. For the most common failures, we describe details of the causes.Pointer/ArrayErrors in the use of pointers and array subscripts dominate the results of our tests. These are errors any novice programmer might make, but surprising to find in production code. In all these cases, the programmer made implicit assumptions about the contents of the data being processed; these assumptions caused the programmer to use insufficient checks on their loop termination condi-tions. The presence of these errors argues (minimally) for garbage-collected languages and full-time array bounds checking to help a sloppy programmer detect these problems.Most of the pointer errors found in the 1995 study were simple: increment the pointer past the end of an array. The error in “ctags” is representative (file “ctags.c”):char line[4*BUFSIZ];...sp = line;...do {*++sp = c = getc(inf);} while ((c != ’\n’) && (c != EOF));Note that the termination condition in the above loop does not include any tests based on the size of array (line) being used.Array subscripting errors were also a common cause of failures in this study. Most of these errors appeared in routines that were using character input or were scanning an input line. An example of an error during input appears in “cb” (file “cb.c”):char string[200];...while ((cc = getch()) != c) {string[j++] = cc;...}The termination condition on the above loop checks the input operation, but ignores the size of the buffer into which the data is being read (string). Another common type of error happens during string processing, where (again!) the termination condition of the loop does not contain a check on the size of the array. The following example comes from “bibtex” (file “strpascal.c”): voidnull_terminate(s)char *s;{while (*s != ’ ’) s++;...}Dangerous Input FunctionsThe second most common cause of errors was the use of dangerous input functions, such as the notorious gets() function. The problem is that gets() has no parameter to limit the length of the input data. Besides causing reliability problems, use of gets() was also the flaw that permitted a major breach in Internet security[3,4]. By using gets(), the programmer is making implicit assumptions about the structure of the data being processed.The manual page from the Solaris 2.3 system wisely contains the following warning:When using gets(), if the length of an input line exceeds the size of s, indeterminate behavior may result. For thisreason, it is strongly recommended that gets() be avoided in favor of fgets().The fgets() function includes an argument to limit the maximum length of the input line.The C library input/output routines are not integrated into the language; they appear only as a collection of procedures to be called. Newer languages, like C++, can do a better job by integrat-ing the input operation into the definition of a new type or class (using the “>>“ operator). But the definition of the “>>” operator for character strings does not include information about the length of the array. Following is a typical example of how “>>” is used:char buff[BUFSIZE];cin >> buff;The representation of a UNIX character string does not carry information about the size of the array in which it is stored. Y ou can set the maximum input line size using the C++ input/output class (using the cin.width() function), but this requires extra and explicit action by the program-mer; the default case has dangerous behavior.The letters in each entry describe the system on while the failure occurred (see Table1 for adescription of the system letters)The letters in each entry describe the system on while the failure occurred (see Table1 for adescription of the system letters)Signed CharactersThe conversion of numbers from one size to another can cause problems; the problem is com-pounded by using characters in both their symbolic and numeric forms. In C (and C++), the type “char” is a signed, 8-bit integer on most UNIX systems1. The presence of a sign bit can be confus-ing and error prone (with the possibility of sign-extension) when doing arithmetic. The following example comes from "eqn" (file “lookup.c”):register int h;...register char *s = name;for (h = 0; *s != ’\0’;)h += *s++;h %= TBLSIZE;1.Both the number of bits and presence of a sign bit are system dependent. If the programmer really doesnot want a sign bit, then the declaration should include “unsigned”.The value pointed to by s is a signed character and h is an integer. Characters that are pointed to by s may have their high-order bit on, making h negative2 (h will subsequently be used as a sub-script).End-of-File ChecksChecking for end-of-file is another case of the programmer making implicit assumptions about the structure of input data. It is a common, but dangerous assumption that end-of-file will occur only after a complete input line; i.e., end-of-file will always immediately follow a newline charac-ter. While this assumption can simplify the structure of the application code, it leaves the applica-tion vulnerable to crashing or hanging.2.3.3 Comparison of Results to the 1990 StudyWhen we compare the results from the 1995 study to those from 1990, it is interesting to go beyond the raw numbers. When we examined the bugs that caused the failures, a distressing phe-nomenon emerged: many of the bugs discovered (approximately 40%) and reported in 1990 are still present in their exact form in 1995. The 1990 study was widely published in at least two lan-guages. The code was made freely available via anonymous ftp. The exact random data streams used in our testing were freely available via ftp. The identification of failures that we found were also made freely available via ftp; these included code fragments with file and line number for the errant code. According to our records, over 2000 copies of the fuzz tools and bug identifications were fetched from our ftp site.Several of the bugs found in the 1995 study were likely present in the 1990 study, but were masked by the original bugs. Fixing the original bugs and re-testing should have exposed these new ones.The techniques used in this study are simple and mostly automatic. It is difficult to understand why a vendor would not partake of a free and easy source of reliability improvements.2.The standard, printable characters do not have their high-order bit on, but it is not safe to assume thatthese are the only characters that will be read as input.3 NETWORK SERVICESThe fuzz testing techniques are effective for finding reliability problems in real programs. A natu-ral question is: in what other domains can these techniques be applied? Our first new application of the fuzz techniques was to test network services.Internet network services are identified by a host name and port number. Most hosts support a collection of services, such as remote login (“rlogind” and “telnetd”), file transfer (“ftpd”), user information (“fingerd”), time synchronization protocols (“timed”), and remote procedures calls. To test these services, we wrote a simple program (called the “portjig”) that would attach to a net-work port and then send random data from the fuzz generator. This testing configuration is illus-trated in Figure1.Figure1: Testing Network ServicesThe list of UNIX services is typically listed in a file called “/etc/services”. Our test script selected each service in this file and sent it random data. We tested both TCP (connection-based) and UDP (datagram-based) services.Several years ago, we informally tested network services on a few UNIX systems and were able to crash only two utilities (“ftpd” and “telnetd”). We ran our current tests on SunOS, NEXT-STEP, and Linux.In this study, we were not able to crash any of the services that we tested on any UNIX system. This result bodes well for network reliability and safety. Curiously though, we were able to crash some of the client programs for network services (such as “telnet” and “ftp”, see Table4).4 X-WINDOW APPLICATIONS AND SERVERSOur next target for fuzz testing was the window system and its application programs. An increas-ing number of application programs are based on graphical user interfaces, so X-Window based applications and servers were natural targets for the fuzz testing. Even though most of these appli-cations were written more recently than the basic UNIX utilities, they still had high failure rates under random input tests. The X server proved resistant to crashing. Section 4.1 describes the tools we used to test the window server and applications, Section 4.2 describes the tests that we performed, and Section 4.3 presents the results from these application tests.4.1 X-Window Fuzz ToolsTo send random input to the X-Window server or applications, we interposed our testing tools between the client and the server. The interposed program, called xwinjig 1, can generate random input or modify the regular communication stream between the X-Window application and server.The xwinjig program pretends to be an X server.The X-Window system is capable of running on machines with multiple displays, and the X server has a separate TCP/IP port for each of its displays. These ports are numbered , where is the display number (display 0 is the standard default display). We change the default display by setting the DISPLAY environment variable to a higher-numbered display. Xwinjig listens on this port, and then connects to the real X server on the standard port.The X server has an authentication mechanism, and xwinjig must simulate or circumvent it.We provide proof of authentication by reading the user’s ~/.Xauthority file and sending the appro-priate authorization “cookie” to the server. We can circumvent the authentication by disabling access control checking on the server (by executing the command:xhost +).4.2 X-Window TestsIn testing the X-Window server and applications, we used four different variations of random input streams. The first two techniques are used to test both the server and the applications,whereas the last two are used to test only the applications. Each input type is closer to valid input than the previous one (and therefore potentially tests deeper layers of the input processing code).The last technique listed below is important because it simulates a user randomly using the key-board and mouse.pletely Random Messages: xwinjig concocts a random series of bytes and ships it off tothe server or the client in a message.2.Garbled Messages: xwinjig randomly inserts, deletes, or modifies parts of the message streambetween the application and server.3.Random Events: xwinjig keeps track of message boundaries defined by the X Protocol Refer-ence Manual[5]. xwinjig will randomly insert or modify events 2 that are of the proper size and1.Xwinjig actually has two implementations (called xjig and winjig ). This section reports on the combined results of testing with these two tools.2.An event is a message sent by the server to the client to indicate that something of interest to the client happened at the server side. E.g., an event is sent each time a key is pressed.6000N +Nhave valid opcodes (in the range 2 to 34). The sequence number, time stamp, and payload may be random.4.Legal Events: These are protocol conformant messages that are logically correct individuallyand in sequence. These events have valid values for such things as X-Y coordinates within a window. Information such as window geometry, parent/child relationships, event time stamps, and sequence numbers are obtained by monitoring client/server traffic and are used to gener-ate these events.The xwinjig program has options to control the rate of injection of events, the frequency and method of randomizing the event stream, the direction of operation (client to server or vice versa), and the event types (keyboard and mouse events only, or all events).4.3 X-Window Test ResultsWe tested the X-Window server on the SunOS and Ultrix systems; the X-Window applications were tested on SunOS. Testing was done only on these few systems because of the significant time it takes to complete this type of testing. The X-Window application programs include ones distributed by the vendor, locally written, freely distributed, and purchased from third party ven-dors.4.3.1 Quantitative ResultsThe results of our tests on X-Window applications are given in Table5. The first conclusion to draw is that the fuzz testing techniques are effective for testing programs based on graphical user interfaces. This result should encourage testing on other window-based systems, such as the Mac-intosh and PC.The test inputs of Types 1 and 2 represent some failure in the X server or its associate librar-ies. It may be reasonable to argue that these errors are unlikely, or that if they occur, the applica-tion programs cannot do much to counteract them. Good software design practice says that programs should have reasonable error checking on all external interfaces; in case of a crash, at least these checks will help localize the problem (and help convince the programmer that it is not in their own code). These checks can result in better bug reports to the software vendor.The Type 3 and 4 inputs contain enough valid data that they take us past most of the basic checks in the X library. The Type 4 test input produced what is probably the most condemning result. Given legitimate input event streams, more than 40% of the programs tested crashed. Application programs from all sources failed on this type of input. Errors of this type are com-mon; most users have, at some time, selected large amounts of text from a window and acciden-tally “pasted” it into the wrong window.4.3.2 Causes of Crashes/HangsWe identified the cause of the failures of several of the X-Window applications that we tested in this study. In this section, we describe some of the errors that we found. In general, the type of programming errors that we found were similar to those found in the basic tests.The “xpaint” application crashes because of common error with pointers: dereferencing a NULL pointer. During input, an X event describes a window with zero height. The structure of the subsequent code is awkward. There are many places where the pointer might be used and each。