AutomorphicImage := function(a,K)
local L, g;
L := List([]);
for g in Set(K) do
Add(L,g^a);
od;
return Group(L);
end;;
IsAutomorphConjugateSubgroup := function(G,H)
local A, s;
A := AutomorphismGroup(G);
for s in A do
if not (AutomorphicImage(s,H) in ConjugateSubgroups(G,H)) then
return false;
fi;
od;
return true;
end;;
IsACIC := function(G)
local H;
if IsAbelian(G) then return true; fi;
for H in List(ConjugacyClassesSubgroups(G),Representative) do
if IsAutomorphConjugateSubgroup(G,H) and not IsNormal(G,H) then return false; fi;
od;
return true;
end;;

To do the test, enter:

IsACIC(G)

where is the group that needs to be tested. The code works only for finite groups, and as such, is extremely inefficient.