1,077 research outputs found
Software-Architecture Recovery from Machine Code
In this paper, we present a tool, called Lego, which recovers object-oriented software architecture from stripped binaries. Lego takes a stripped binary as input, and uses information obtained from dynamic analysis to (i) group the functions in the binary into classes, and (ii) identify inheritance and composition relationships between the inferred classes. The information obtained by Lego can be used for reengineering legacy software, and for understanding the architecture of software systems that lack documentation and source code. Our experiments show that the class hierarchies recovered by Lego have a high degree of agreement---measured in terms of precision and recall---with the hierarchy defined in the source code
A new level-dependent coarsegrid correction scheme for indefinite Helmholtz problems
In this paper we construct and analyse a level-dependent coarsegrid
correction scheme for indefinite Helmholtz problems. This adapted multigrid
method is capable of solving the Helmholtz equation on the finest grid using a
series of multigrid cycles with a grid-dependent complex shift, leading to a
stable correction scheme on all levels. It is rigourously shown that the
adaptation of the complex shift throughout the multigrid cycle maintains the
functionality of the two-grid correction scheme, as no smooth modes are
amplified in or added to the error. In addition, a sufficiently smoothing
relaxation scheme should be applied to ensure damping of the oscillatory error
components. Numerical experiments on various benchmark problems show the method
to be competitive with or even outperform the current state-of-the-art
multigrid-preconditioned Krylov methods, like e.g. CSL-preconditioned GMRES or
BiCGStab.Comment: 21 page
- …