software applications are analyzed to determine if they are legitimate applications and warnings are provided to users to avoid installation and / or purchases of unnecessary and / or potentially harmful software based on comparisons of user - interface characteristics of the software applications to visual characteristics of authentic applications to determine to what extent they match or are attempting to mirror the legitimate application .