Text this: Reconstruction of Software Component Architectures and Behaviour Models using Static and Dynamic Analysis