====== Semana 23 de 2021 ====== ===== Research ===== * Attend ABZ 2021 – 8th International Conference on Rigorous State Based Methods. My interest on the subject inherits from statecharts model used for IMA-CID and LODM. * Two models widely discussed are [[https://en.wikipedia.org/wiki/Abstract_state_machine | Abstract State Machines (ASM)]] and Event-B. There also some efforts on integrating domain knowledge (represented as ontologies) with state machines, which I find really nice. When designing and using LODM, I tried to use the conceptual model to ground the state machines and even to associate concepts to events (and, therefore, states transition). * Something we often struggle when defining the model is the specification. Currently we use UML, but there are alternatives. In the paper "Structuring the State and Behavior of ASMs: Introducing a Trait-Based Construct for Abstract State Machine Languages", which was presented by Philipp Paulweber, offered an overview of options. {{ :work:abz_2021_-_casm.png?200|}} Their proposal is CASM: https://github.com/casm-lang/casm * Talk to [[.students:leandro_césar_da_cruz]]: how to handle git internals to detect testing patterns in open source software. * Talk to [[.students:yuri_rafael_grajefe_feitosa]]: PDM, Code Workout, slides for WEI. * Talk to [[.students:vinicius_bosa_petris]]: TCC. * Start to experiment using strace to recover extra information about execution of test cases. * I tried it overnight for Google Java Collection (https://github.com/google/guava.git). A typical ''maven install'' takes 10 minutes. For tracing, I used ''strace -f --output-separately --output=guava-test.trace --decode-fds=path,socket,dev --string-limit=255 --timestamps=format:time,precision:us --syscall-times --decode-fds=all --summary mvn test --log-file guava-test.log --debug -o -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS''. * Basically I traced everything I could. I also recorded the results of Maven, with timestamps so I could later relate that with the trace results. I took one hour to finish running (one order of magnitude slower than a typical run). I haven't analyzed the data yet, but I already noticed that Java uses fmutex extensively (which may be worth addressing later). * Talk to [[.students:bruno_henrique_pachulski_camara]]: classification model using test smells. * Subscribe to [[https://conf.researchr.org/home/issta-2021 | ISSTA 2021]] and [[https://conf.researchr.org/home/ecoop-2021 | ECOOP 2021]] (free registration!). ===== Management ===== * Attend meeting at UTFPR: https://www.youtube.com/watch?v=xEiN9wx30n0 * Talk to Ivanilton about IPB/COIL. ===== Misc ===== * After updating Windows 10, grub disappeared. Apparently, Windows changed the default EFI boot manager. Fortunately, that is easy to fix. On a Windows terminal, as administrator, run: ''bcdedit /set {bootmgr} path \EFI\fedora\grubx64.efi''.