Cut kernels from corn cobs and set aside. Cut cobs in half and place in a pot with water and a pinch of salt; bring to a boil, reduce heat to medium-low, and simmer until corn broth flavors blend, about 90 minutes. Strain broth and pour back into pot; discard corn cobs. Stir tomatoes, corn kernels, and butter into corn broth; bring to a boil and cook until reduced and flavors blend, about 5 minutes. Season with salt and black pepper. Stir basil into soup, ladle into bowls, and garnish with Parmesan cheese.