string analysis