{'fraction_non_alphanumeric': 0.014527845036319613, 'fraction_numerical': 0.0, 'mean_word_length': 4.865248226950355, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Using Program Analysis to Improve API Learnability

Learning from API documentation and tutorials is challenging for many programmers. Improving the learnability of APIs can reduce this barrier, especially for new programmers. We will use the tools of program analysis to extract key concepts and learning dependencies from API source code, API documentation, open source code, and other online sources of information on APIs. With this information we will generate learning maps for any user-provided code snippet, and will take users through each concept used in the code snippet. Users may also navigate through the most commonly used features of an API without providing a code snippet. We also hope to extend this work to help users find the features of an API they need and also help them integrate that into their code.