93,049 research outputs found

    Coherent clusters in source code

    Get PDF
    This paper presents the results of a large scale empirical study of coherent dependence clusters. All statements in a coherent dependence cluster depend upon the same set of statements and a↵ect the same set of statements; a coherent cluster’s statements have ‘coherent’ shared backward and forward dependence. We introduce an approximation to efficiently locate coherent clusters and show that it has a minimum precision of 97.76%. Our empirical study also finds that, despite their tight coherence constraints, coherent dependence clusters are in abundance: 23 of the 30 programs studied have coherent clusters that contain at least 10% of the whole program. Studying patterns of clustering in these programs reveals that most programs contain multiple significant coherent clusters. A series of case studies reveals that these major clusters map to logical functionality and program structure. For example, we show that for the program acct, the top five coherent clusters all map to specific, yet otherwise non-obvious, functionality. Cluster visualization can also reveal subtle deficiencies in program structure and identify potential candidates for refactoring e↵orts. Finally a study of inter-cluster dependence is used to highlight how coherent clusters built are connected to each other, revealing higher-level structures, which can be used in reverse engineering

    Coherent clusters in source code

    Get PDF
    This paper presents the results of a large scale empirical study of coherent dependence clusters. All statements in a coherent dependence cluster depend upon the same set of statements and affect the same set of statements; a coherent cluster's statements have 'coherent' shared backward and forward dependence. We introduce an approximation to efficiently locate coherent clusters and show that it has a minimum precision of 97.76%. Our empirical study also finds that, despite their tight coherence constraints, coherent dependence clusters are in abundance: 23 of the 30 programs studied have coherent clusters that contain at least 10% of the whole program. Studying patterns of clustering in these programs reveals that most programs contain multiple substantial coherent clusters. A series of subsequent case studies uncover that all clusters of significant size map to a logical functionality and correspond to a program structure. For example, we show that for the program acct, the top five coherent clusters all map to specific, yet otherwise non-obvious, functionality. Cluster visualization also brings out subtle deficiencies in program structure and identifies potential refactoring candidates. A study of inter-cluster dependence is used to highlight how coherent clusters are connected to each other, revealing higher-level structures, which can be used in reverse engineering. Finally, studies are presented to illustrate how clusters are not correlated with program faults as they remain stable during most system evolution. © 2013 The Authors. All rights reserved

    Coherent clusters in source code

    Get PDF
    This paper presents the results of a large scale empirical study of coherent dependence clusters. All statements in a coherent dependence cluster depend upon the same set of statements and affect the same set of statements; a coherent cluster's statements have ‘coherent’ shared backward and forward dependence. We introduce an approximation to efficiently locate coherent clusters and show that it has a minimum precision of 97.76%. Our empirical study also finds that, despite their tight coherence constraints, coherent dependence clusters are in abundance: 23 of the 30 programs studied have coherent clusters that contain at least 10% of the whole program. Studying patterns of clustering in these programs reveals that most programs contain multiple substantial coherent clusters. A series of subsequent case studies uncover that all clusters of significant size map to a logical functionality and correspond to a program structure. For example, we show that for the program acct, the top five coherent clusters all map to specific, yet otherwise non-obvious, functionality. Cluster visualization also brings out subtle deficiencies in program structure and identifies potential refactoring candidates. A study of inter-cluster dependence is used to highlight how coherent clusters are connected to each other, revealing higher-level structures, which can be used in reverse engineering. Finally, studies are presented to illustrate how clusters are not correlated with program faults as they remain stable during most system evolution

    Coherent Dependence Cluster

    Get PDF
    This thesis introduces coherent dependence clusters and shows their relevance in areas of software engineering such as program comprehension and mainte- nance. All statements in a coherent dependence cluster depend upon the same set of statements and affect the same set of statements; a coherent cluster’s statements have ‘coherent’ shared backward and forward dependence. We introduce an approximation to efficiently locate coherent clusters and show that its precision significantly improves over previous approximations. Our empirical study also finds that, despite their tight coherence constraints, coherent dependence clusters are to be found in abundance in production code. Studying patterns of clustering in several open-source and industrial programs reveal that most contain multiple significant coherent clusters. A series of case studies reveal that large clusters map to logical functionality and pro- gram structure. Cluster visualisation also reveals subtle deficiencies of program structure and identify potential candidates for refactoring efforts. Supplemen- tary studies of inter-cluster dependence is presented where identification of coherent clusters can help in deriving hierarchical system decomposition for reverse engineering purposes. Furthermore, studies of program faults find no link between existence of coherent clusters and software bugs. Rather, a longi- tudinal study of several systems find that coherent clusters represent the core architecture of programs during system evolution. Due to the inherent conservativeness of static analysis, it is possible for unreachable code and code implementing cross-cutting concerns such as error- handling and debugging to link clusters together. This thesis studies their effect on dependence clusters by using coverage information to remove unexecuted and rarely executed code. Empirical evaluation reveals that code reduction yields smaller slices and clusters

    Wireless ad-hoc networks: Strategies and Scaling laws for the fixed SNR regime

    Full text link
    This paper deals with throughput scaling laws for random ad-hoc wireless networks in a rich scattering environment. We develop schemes to optimize the ratio, ρ(n)\rho(n) of achievable network sum capacity to the sum of the point-to-point capacities of source-destinations pairs operating in isolation. For fixed SNR networks, i.e., where the worst case SNR over the source-destination pairs is fixed independent of nn, we show that collaborative strategies yield a scaling law of ρ(n)=O(1n1/3)\rho(n) = {\cal O}(\frac{1}{n^{1/3}}) in contrast to multi-hop strategies which yield a scaling law of ρ(n)=O(1n)\rho(n) = {\cal O}(\frac{1}{\sqrt{n}}). While, networks where worst case SNR goes to zero, do not preclude the possibility of collaboration, multi-hop strategies achieve optimal throughput. The plausible reason is that the gains due to collaboration cannot offset the effect of vanishing receive SNR. This suggests that for fixed SNR networks, a network designer should look for network protocols that exploit collaboration. The fact that most current networks operate in a fixed SNR interference limited environment provides further motivation for considering this regime.Comment: 26 pages single column, submitted to Transactions on Information Theor

    Intermediate and extreme mass-ratio inspirals — astrophysics, science applications and detection using LISA

    Get PDF
    Black hole binaries with extreme (gtrsim104:1) or intermediate (~102–104:1) mass ratios are among the most interesting gravitational wave sources that are expected to be detected by the proposed laser interferometer space antenna (LISA). These sources have the potential to tell us much about astrophysics, but are also of unique importance for testing aspects of the general theory of relativity in the strong field regime. Here we discuss these sources from the perspectives of astrophysics, data analysis and applications to testing general relativity, providing both a description of the current state of knowledge and an outline of some of the outstanding questions that still need to be addressed. This review grew out of discussions at a workshop in September 2006 hosted by the Albert Einstein Institute in Golm, Germany
    corecore