3,592 research outputs found
Reconciling Synthesis and Decomposition: A Composite Approach to Capability Identification
Stakeholders' expectations and technology constantly evolve during the
lengthy development cycles of a large-scale computer based system.
Consequently, the traditional approach of baselining requirements results in an
unsatisfactory system because it is ill-equipped to accommodate such change. In
contrast, systems constructed on the basis of Capabilities are more
change-tolerant; Capabilities are functional abstractions that are neither as
amorphous as user needs nor as rigid as system requirements. Alternatively,
Capabilities are aggregates that capture desired functionality from the users'
needs, and are designed to exhibit desirable software engineering
characteristics of high cohesion, low coupling and optimum abstraction levels.
To formulate these functional abstractions we develop and investigate two
algorithms for Capability identification: Synthesis and Decomposition. The
synthesis algorithm aggregates detailed rudimentary elements of the system to
form Capabilities. In contrast, the decomposition algorithm determines
Capabilities by recursively partitioning the overall mission of the system into
more detailed entities. Empirical analysis on a small computer based library
system reveals that neither approach is sufficient by itself. However, a
composite algorithm based on a complementary approach reconciling the two polar
perspectives results in a more feasible set of Capabilities. In particular, the
composite algorithm formulates Capabilities using the cohesion and coupling
measures as defined by the decomposition algorithm and the abstraction level as
determined by the synthesis algorithm.Comment: This paper appears in the 14th Annual IEEE International Conference
and Workshop on the Engineering of Computer Based Systems (ECBS); 10 pages, 9
figure
Conserved but flexible modularity in the zebrafish skull: implications for craniofacial evolvability
Morphological variation is the outward manifestation of development and provides fodder for adaptive evolution. Because of this contingency, evolution is often thought to be biased by developmental processes and functional interactions among structures, which are statistically detectable through forms of covariance among traits. This can take the form of substructures of integrated traits, termed modules, which together comprise patterns of variational modularity. While modularity is essential to an understanding of evolutionary potential, biologists currently have little understanding of its genetic basis and its temporal dynamics over generations. To address these open questions, we compared patterns of craniofacial modularity among laboratory strains, defined mutant lines and a wild population of zebrafish ( ). Our findings suggest that relatively simple genetic changes can have profound effects on covariance, without greatly affecting craniofacial shape. Moreover, we show that instead of completely deconstructing the covariance structure among sets of traits, mutations cause shifts among seemingly latent patterns of modularity suggesting that the skull may be predisposed towards a limited number of phenotypes. This new insight may serve to greatly increase the evolvability of a population by providing a range of 'preset' patterns of modularity that can appear readily and allow for rapid evolution
Multilayer Networks
In most natural and engineered systems, a set of entities interact with each
other in complicated patterns that can encompass multiple types of
relationships, change in time, and include other types of complications. Such
systems include multiple subsystems and layers of connectivity, and it is
important to take such "multilayer" features into account to try to improve our
understanding of complex systems. Consequently, it is necessary to generalize
"traditional" network theory by developing (and validating) a framework and
associated tools to study multilayer systems in a comprehensive fashion. The
origins of such efforts date back several decades and arose in multiple
disciplines, and now the study of multilayer networks has become one of the
most important directions in network science. In this paper, we discuss the
history of multilayer networks (and related concepts) and review the exploding
body of work on such networks. To unify the disparate terminology in the large
body of recent work, we discuss a general framework for multilayer networks,
construct a dictionary of terminology to relate the numerous existing concepts
to each other, and provide a thorough discussion that compares, contrasts, and
translates between related notions such as multilayer networks, multiplex
networks, interdependent networks, networks of networks, and many others. We
also survey and discuss existing data sets that can be represented as
multilayer networks. We review attempts to generalize single-layer-network
diagnostics to multilayer networks. We also discuss the rapidly expanding
research on multilayer-network models and notions like community structure,
connected components, tensor decompositions, and various types of dynamical
processes on multilayer networks. We conclude with a summary and an outlook.Comment: Working paper; 59 pages, 8 figure
Revisiting the Effect of Branch Handling Strategies on Change Recommendation
Although literature has noted the effects of branch handling strategies on
change recommendation based on evolutionary coupling, they have been tested in
a limited experimental setting. Additionally, the branches characteristics that
lead to these effects have not been investigated. In this study, we revisited
the investigation conducted by Kovalenko et al. on the effect to change
recommendation using two different branch handling strategies: including
changesets from commits on a branch and excluding them. In addition to the
setting by Kovalenko et al., we introduced another setting to compare:
extracting a changeset for a branch from a merge commit at once. We compared
the change recommendation results and the similarity of the extracted
co-changes to those in the future obtained using two strategies through 30
open-source software systems. The results show that handling commits on a
branch separately is often more appropriate in change recommendation, although
the comparison in an additional setting resulted in a balanced performance
among the branch handling strategies. Additionally, we found that the merge
commit size and the branch length positively influence the change
recommendation results.Comment: 11 pages, ICPC 202
The asexual genome of Drosophila
The rate of recombination affects the mode of molecular evolution. In
high-recombining sequence, the targets of selection are individual genetic
loci; under low recombination, selection collectively acts on large,
genetically linked genomic segments. Selection under linkage can induce clonal
interference, a specific mode of evolution by competition of genetic clades
within a population. This mode is well known in asexually evolving microbes,
but has not been traced systematically in an obligate sexual organism. Here we
show that the Drosophila genome is partitioned into two modes of evolution: a
local interference regime with limited effects of genetic linkage, and an
interference condensate with clonal competition. We map these modes by
differences in mutation frequency spectra, and we show that the transition
between them occurs at a threshold recombination rate that is predictable from
genomic summary statistics. We find the interference condensate in segments of
low-recombining sequence that are located primarily in chromosomal regions
flanking the centromeres and cover about 20% of the Drosophila genome.
Condensate regions have characteristics of asexual evolution that impact gene
function: the efficacy of selection and the speed of evolution are lower and
the genetic load is higher than in regions of local interference. Our results
suggest that multicellular eukaryotes can harbor heterogeneous modes and tempi
of evolution within one genome. We argue that this variation generates
selection on genome architecture
Change Impact Analysis of Code Clones
Copying a code fragment and reusing it with or without modifications is known to be a frequent activity in software development. This results in exact or closely similar copies of code fragments, known as code clones, to exist in the software systems. Developers leverage the code reuse opportunity by code cloning for increased productivity. However, different studies on code clones report important concerns regarding the impacts of clones on software maintenance. One of the key concerns is to maintain consistent evolution of the clone fragments as inconsistent changes to clones may introduce bugs. Challenges to the consistent evolution of clones involve the identification of all related clone fragments for change propagation when a cloned fragment is changed. The task of identifying the ripple effects (i.e., all the related components to change) is known as Change Impact Analysis (CIA). In this thesis, we evaluate the impacts of clones on software systems from new perspectives and then we propose an evolutionary coupling based technique for change impact analysis of clones. First, we empirically evaluate the comparative stability of cloned and non-cloned code using fine-grained syntactic change types. Second, we assess the impacts of clones from the perspective of coupling at the domain level. Third, we carry out a comprehensive analysis of the comparative stability of cloned and non-cloned code within a uniform framework. We compare stability metrics with the results from the original experimental settings with respect to the clone detection tools and the subject systems. Fourth, we investigate the relationships between stability and bug-proneness of clones to assess whether and how stability contribute to the bug-proneness of different types of clones. Next, in the fifth study, we analyzed the impacts of co-change coupling on the bug-proneness of different types of clones. After a comprehensive evaluation of the impacts of clones on software systems, we propose an evolutionary coupling based CIA approach to support the consistent evolution of clones. In the sixth study, we propose a solution to minimize the effects of atypical commits (extra large commits) on the accuracy of the detection of evolutionary coupling. We propose a clustering-based technique to split atypical commits into pseudo-commits of related entities. This considerably reduces the number of incorrect couplings introduced by the atypical commits. Finally, in the seventh study, we propose an evolutionary coupling based change impact analysis approach for clones. In addition to handling the atypical commits, we use the history of fine-grained syntactic changes extracted from the software repositories to detect typed evolutionary coupling of clones. Conventional approaches consider only the frequency of co-change of the entities to detect evolutionary coupling. We consider both change frequencies and the fine-grained change types in the detection of evolutionary coupling. Findings from our studies give important insights regarding the impacts of clones and our proposed typed evolutionary coupling based CIA approach has the potential to support the consistent evolution of clones for better clone management
- …