специализировать(ся), -рую(сь), -рует(ся)
СПЕЦИАЛИЗИРОВА|ТЬСЯ, специализиру|юсь, -ется, -ются, сов. и несов., V а, неперех.
● В рамках некоторой широкой области знания или практической деятельности особенно глубоко освоить (осваивать) какой-то отдельный её фрагмент; становиться (стать) узким специалистом в чём-л. С. в создании программного обеспечения. Ещё учась в физико-техническом институте, он начал с. по физике твёрдого тела. || Морф. специал=изиров=а-ть=ся. Дер. От глаг. специализировать (<< специальный См.) несов и сов. – .
Ответы справочной службы
Вот как эти варианты описывает справочник "Управление в русском языке" Д. Э. Розенталя:
Специализироваться по чему - приобретать специальные познания, навыки в какой-либо отрасли науки или техники.
Специализироваться в чем и на чем - закрепляться за какой-либо одной специальной областью деятельности или сферой использования.
Таким образом, верно: студент специализируется по физиотерапии; компания специализируется в нефтедобыче (на нефтедобыче).
Верно: специализироваться по социологии.