eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › Możliwość pokrycia testami dla wyrażeń logicznych
Ilość wypowiedzi w tym wątku: 8

  • 1. Data: 2018-06-12 12:46:12
    Temat: Możliwość pokrycia testami dla wyrażeń logicznych
    Od: Maciej Sobczak <s...@g...com>

    Całkiem ta grupa zdechła, czy jest jeszcze nadzieja? :-)

    Jest taki temat jak generowanie testów i są też różne stopnie pokrycia testami, które
    się definiuje (i wymaga) w rygorystycznych procesach. Okazuje się jednak, że
    wyrażenie logiczne można napisać tak źle, że nie będzie możliwe wygenerowanie dla
    niego testów z odpowiednim pokryciem - coś jakby odpowiednik nieosiągalnego kodu gdy
    np. jakaś gałąź warunkowa nigdy się nie wykonuje.

    Da się w miarę prosto wygenerować testy na sprawdzenie, czy dane wyrażenie można
    pokryć właściwymi testami:

    http://inspirel.com/articles/Implementing_Logic_Reac
    hability_Checks.html

    Ktoś się na grupie zajmuje takimi tematami? :-)

    --
    Maciej Sobczak * http://www.inspirel.com


  • 2. Data: 2018-06-12 20:01:29
    Temat: [OT] Możliwość pokrycia testami dla wyrażeń logicznych
    Od: denat 'POPIS/EU <N...@g...pl>

    boże co to się w dzisiejszej IT dzieje, człowiek to nawet nie wie jaki
    jest głupi... także dzięki i za te ochłapy z pańskiego stołu...

    domyślam się, że coś takiego nie da się zrobić:
    0001
    0010
    0100
    1000

    a w ogóle to taki testowacz to ma jakiś dostęp do (jaśnie) formuły
    (optymalnej)?

    (pytam z ciekawości)


  • 3. Data: 2018-06-12 23:38:44
    Temat: Re: [OT] Możliwość pokrycia testami dla wyrażeń logicznych
    Od: Maciej Sobczak <s...@g...com>

    Zaryzykuję odpowiedź...

    > domyślam się, że coś takiego nie da się zrobić:
    > 0001
    > 0010
    > 0100
    > 1000

    Takie coś *należy* zrobić, żeby przetestować ORa na 4 zmiennych, np.:

    x = a||b||c||d;

    To się nazywa "wędrująca jedynka" i jeszcze jak dołożysz do tego test z samymi
    zerami:

    0000

    to w sumie masz pełne pokrycie MC/CD tego wyrażenia, czyli demonstrację, że każda
    zmienna jest tam do czegoś potrzebna.

    Analogicznie, w przypadku ANDa robi się "wędrujące zero" plus test z samymi
    jedynkami.

    Natomiast w bardziej złożonych wyrażeniach to nie wystarczy a jak zmienne są jakoś ze
    sobą powiązane (np. wcześniejszymi wyrażeniami), to może się okazać, że pewnych
    stanów w ogóle nie da się pokazać. I teraz pytanie, czy da się takie defekty wykryć.

    > a w ogóle to taki testowacz to ma jakiś dostęp do (jaśnie) formuły
    > (optymalnej)?

    Co to jest formuła optymalna?
    W takim testowaniu testowacz ma dostęp do kodu.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 4. Data: 2018-06-13 21:02:45
    Temat: Re: [OT] Możliwość pokrycia testami dla wyrażeń logicznych
    Od: denat 'POPIS/EU <N...@g...pl>

    no tak, dziękuję


  • 5. Data: 2018-06-13 21:22:08
    Temat: Re: [OT] Możliwość pokrycia testami dla wyrażeń logicznych
    Od: denat 'POPIS/EU <N...@g...pl>

    chociaż teraz to chyba niewyobrażalne sukcesy odnoszą metody
    probabilistyczne... chyba się pogodzili z tym, że taki dragon co któryś
    wystrzał musi pierdolnąć...


  • 6. Data: 2018-06-14 07:28:45
    Temat: Re: Możliwość pokrycia testami dla wyrażeń logicznych
    Od: Sebastian Biały <h...@p...onet.pl>

    On 6/12/2018 12:46 PM, Maciej Sobczak wrote:
    > Ktoś się na grupie zajmuje takimi tematami? :-)

    Nieco z innej beczki: podobnymi problemami (czy dany kod jest osiągalny
    a jak jest to czy poprawny) zajmuje się dziedzina w HDL taka jak code
    coverage + randomizacje. Oni tam mają bardziej statystyczne podejście do
    problemów jakości. Dodatkowo weryfikacja funkcjonalna o ile pamiętam
    jako side effect ma eliminację martwych gałęzi. Temat na kilka
    doktoratów które w dodatku już zrobiono.


  • 7. Data: 2018-06-14 12:00:06
    Temat: Re: Możliwość pokrycia testami dla wyrażeń logicznych
    Od: Maciej Sobczak <s...@g...com>

    > Oni tam mają bardziej statystyczne podejście do
    > problemów jakości.

    Ciekawe. To może być związane z mindsetem hardware'owym, gdzie awarie wynikają nie
    tylko z bugów, ale też z defektów produkcyjnych i ze starzenia materiału. Może
    uznali, że wszystkie defekty można tak traktować.
    Trudno się z tym całkiem zgodzić, bo defekty projektowe są systematyczne, więc
    traktowanie ich statystykami niezupełnie pasuje do problemu.

    Niektóre standardy w SW nie przewidują użycia metod statystycznych, weryfikacja ma
    być deterministyczna. Jest w tym trochę hipokryzji, gdy weryfikację robi się białkiem
    (review), ale jeśli coś się automatyzuje, to metody statystyczne odpadają.
    To podejście może się zmienić dzięki (albo raczej w celu) AI.

    > Dodatkowo weryfikacja funkcjonalna o ile pamiętam
    > jako side effect ma eliminację martwych gałęzi.

    To nie musi być side effect. To może być też celem samym w sobie, jeśli kod ma być w
    całości pokryty testami (lub inną weryfikacją).

    --
    Maciej Sobczak * http://www.inspirel.com


  • 8. Data: 2018-06-14 21:43:16
    Temat: Re: Możliwość pokrycia testami dla wyrażeń logicznych
    Od: Sebastian Biały <h...@p...onet.pl>

    On 6/14/2018 12:00 PM, Maciej Sobczak wrote:
    >> Oni tam mają bardziej statystyczne podejście do
    >> problemów jakości.
    >
    > Ciekawe. To może być związane z mindsetem hardware'owym

    Raczej z przestrzenią fazową pobudzeń DUT. Jest tak ogromna że albo
    jakims cudem zweryfikujesz ją formalnie albo popstrykasz po niej
    statystycznie. Obawiam się ze rozrost systemów hardwareowych jest
    obecnie poza deterministycznymi metodami weryfikacji.

    > Niektóre standardy w SW nie przewidują użycia metod statystycznych, weryfikacja ma
    być deterministyczna. Jest w tym trochę hipokryzji, gdy weryfikację robi się białkiem
    (review), ale jeśli coś się automatyzuje, to metody statystyczne odpadają.

    Niekoniecznie, weryfikacje mozna robić automatycznie mając wzorzec
    wyższego poziomu. Jesli dziubdziasz super szybka procedure mnożenia
    dwóch ogromnych liczb w Brainfuck to zawsze możesz użyć gotowej
    bibliteki napisanej w sensowniejszym jezyku jako funkcji celu, czasem
    trafia się nawet taka formalnie poprawna i udowodniona. Białko odpada.

    > To podejście może się zmienić dzięki (albo raczej w celu) AI.

    AI zaś wpadnie na pomysł że coś * zero to zawsze siedem. I nawet nie
    zauważysz kiedy pojawią się takie wzorce zachowań ...

    >> Dodatkowo weryfikacja funkcjonalna o ile pamiętam
    >> jako side effect ma eliminację martwych gałęzi.
    > To nie musi być side effect. To może być też celem samym w sobie, jeśli kod ma być
    w całości pokryty testami (lub inną weryfikacją).

    "W całości pokryty testami" w EDA to też często tylko procenty na
    statystyce ;) Nie da się.

strony : [ 1 ]



Szukaj w grupach

Szukaj w grupach

REKLAMA

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo:

Ok, rozumiem Strona wykorzystuje pliki cookies w celu prawidłowego jej działania oraz korzystania z narzędzi analitycznych, reklamowych, marketingowych i społecznościowych. Szczegóły znajdują się w Polityce Prywatności. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie. Jeśli nie chcesz, aby pliki cookies były zapisywane w pamięci Twojego urządzenia, możesz to zmienić za pomocą ustawień przeglądarki.