writer: writes (books or stories or articles or the like) professionally (for pay)
causal agent: any entity that produces an effect or is responsible for events or results
anti-virus program: a computer program that checks a computer for viruses and prevents their spread