Jak przetestować metodę która zmienia prywatne pole?

Jak przetestować metodę która zmienia prywatne pole?

Wątek przeniesiony 2023-06-12 18:13 z C# i .NET przez Riddle.

WeiXiao
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5228
0

@jarekr000000

To co wymieniasz nie ma wiele wsólnego z immutable.

jakie znów immutable?

ja cytowałem: jeśli tego nic nie ujawnia na zewnątrz., a więc leak / observable side effect.

Zużycie cpu itp. można traktować jak impure, ale i tak jest to mocno akademicka, niepraktyczna definicja.

mamy rok 2023 i side channele już chyba nie są tylko akademicką gadką

rowhammer, spectre i meltdown pozdrawiają

Row hammer (also written as rowhammer) is a security exploit that takes advantage of an unintended and undesirable side effect in dynamic random-access memory (DRAM) in which memory cells interact electrically between themselves by leaking their charges, possibly changing the contents of nearby memory rows that were not addressed in the original memory access.

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4714
3
WeiXiao napisał(a):

@jarekr000000

To co wymieniasz nie ma wiele wsólnego z immutable.

jakie znów immutable?

ja cytowałem: jeśli tego nic nie ujawnia na zewnątrz., a więc leak / observable side effect.

Zużycie cpu itp. można traktować jak impure, ale i tak jest to mocno akademicka, niepraktyczna definicja.

mamy rok 2023 i side channele już chyba nie są tylko akademicką gadką

rowhammer, spectre i meltdown pozdrawiają

No pierwsze słysze o rowhamner :-)

Rozumiem, że u Ciebie to sposób na dostawanie sie do zmiennych prywatnych.

Muszę Cię zmartwić, że niezbyt optymalny, bo praktycznie w każdej platformie, są o wiele prostsze sposoby na grzebanie po pamięci w ramach tego samego procesu.

Zabawa w private, pure itp. jest zupełnie od tego niezależna, bo dotyczy własności programu na poziomie kodu źródłowego (!!!)

Więc o ile w waszym projekcie nie macie w standardzie grzebamia po pamięci przez unsafe i odczytywania temperatury cpu, aby sprawdzić czy użytkownik zalogował się do systemu to zmiana pola prywatnego może być nieobserwowalna (praktycznie). Szczególnie jak macie linter, który sprawdza np. użycie unsafe.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.