Inappropriate use of software complexity measures can have large, damaging effects by rewarding poor programming practices and demoralizing good programmers. Software complexity measures must be critically evaluated to determine the ways in which they can best be used.
Fault localization in program debugging is the process of identifying program statements which cause anomalous behavior.We have developed a prototype, knowledge-based model of the fault localization process.Novel features of the model include multiple localization tactics and a recognition-based mechanism for program abstraction~ An explicit division of knowledge from the applications, programming and language domains facilitate model tuning within as well as across applications domains.We describe model structure and performance for a class of faults associated with master file update programs.We foresee applications of the model as an initial cognitive theory of expertise in fault localization and as a partially automated debugging tool.
Lkng the Hamming metric to compute distances between chromosomes values as bits, we introduce two real-valued measures in genetic algorithms. These measurq gestetk drift and chtstering, give insight into the behavioral effects of mutation convergence and mating (using simple crossover) during generation cycles. The genetic driti and cltsstsring messttres will then be appfied to two cmtmton computes network problems: the optimaf placement of a multi-station access unit (Steiner Point variation problem) ad path loss (edge integrity of a graph). hstroduction and DefinitionsGenetic algorithms are a class of search algorithms baaed on the mechanics of naturtd biological selection [7]. A data structure is created which reprraertta en individual trial in the search space of all pssible feasible solutions. Each individual in the population has a fitness value which ia an evaluation of the worth of that individual as a solution.In one of our applications, we use chromosomes of bit strings for our population members to daermine phtce.men~inter-connectednesa, and the total length of connections in a multistation access uniL We reward poptdation members with the smaller total length of connectims by giving them a higher fitness vafue and select them for breeding more often. Offspring are created by applying (probabilistic) chromosomaf crossover to two members (parents) during a breeding (generation). Offspring from such a union may be further modficd by random mutations of bits.A common difficulty with genetic algorithms is fme tuning the algorithm to prevent premature convergence, that is, convergence to local minima or maxima without adequate exploration of the search apace. The art of fine tuning genetic algorithms in unique applications is explored m [3], while a fuller description of genetic algorithms CS!Sbe found in Goldberg's book [7].We assume that the genetic algorithm ppulatkn consists of individual chromasorsres (bitmaps} O = fak, 1 = true. We use the following parameters to tune our genetic algorithsrw Name * Popx size of the poptdatiorL number of chromosomes N uniform length of the chromosomes in the GA population HamDiat Hamrning distance betweest two chromosomes The Hamming dMsnce (HamDtat) between two individuala in such a population is the number of corresponding bit kations where they differ: HasuDi.!7t(P1, P2) = $ PI [k] xor Pa[k] where P][k] and P2[k] is the kth blt vafue of the first and second member (respectively) of the pair. Using the Hamrning metric, we define genetk drift as the avemge distance of all individuals in the currentgeneration from the beat (most fit) population member found to date, similar to that found in [4]. mHtunDfst(P,, 13est) Genetic Drift = Pepsi ze Clustering ia the average pair-wise dmtance of all individuals in the went generation. m:wl WM E ,2Hesrtvist(Pk, P,) c1 us tering = ( Popsize 2 )The &nominator is the number of pairs of individuals in a ppulation of size Popsize. In both formulas, P, is the ids individual (chromosome) of theO 1W3ACM O-S979t-%$2#3ANXt2Mt2&..tl3 126
Fault localization in program debugging is the process of identifying program statements which cause anomalous behavior.We have developed a prototype, knowledge-based model of the fault localization process.Novel features of the model include multiple localization tactics and a recognition-based mechanism for program abstraction~ An explicit division of knowledge from the applications, programming and language domains facilitate model tuning within as well as across applications domains.We describe model structure and performance for a class of faults associated with master file update programs.We foresee applications of the model as an initial cognitive theory of expertise in fault localization and as a partially automated debugging tool.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.