Though these CEP systems are capable of recog-
nizing the same stream patterns as PORT, they do not
incorporate the transformation primitives required by
the applications envisioned for PORT. CEP systems
are meant to be used solely to recognize additional
patterns. It is the combination and interplay of pat-
tern matching and transformation primitives that dis-
tinguishes PORT from CEP systems.
6 CONCLUSION
One can gain a lot of value from analyzing an appli-
cation’s activity. Unfortunately, the volume of activ-
ity an application produces makes it difficult to sep-
arate out unimportant sequences. In this work, we
demonstrate how our new domain specific language,
PORT, offers a way to write concise, yet, expressive
descriptions of application activity sequences. These
descriptions can be compiled into programs that both
recognize the described activity sequence and modify
its contents in order to facilitate more active testing.
We used this capability to recreate the successful pro-
grams from earlier work on the SEA technique and
showed that SEA can be extended to other activity
representations, such as recorded USB traffic.
REFERENCES
Agrawal, J., Diao, Y., Gyllstrom, D., and Immerman, N.
(2008). Efficient pattern matching over event streams.
In Wang, J. T., editor, Proceedings of the ACM SIG-
MOD International Conference on Management of
Data, SIGMOD 2008, Vancouver, BC, Canada, June
10-12, 2008, pages 147–160. ACM.
Aho, A. V., Kernighan, B. W., and Weinberger, P. J.
(1979). Awk-a pattern scanning and processing lan-
guage. Softw. Pract. Exp., 9(4):267–279.
barscanner (2009). Barscanner Stopped Functioning. https:
//bugzilla.kernel.org/show_bug.cgi?id=13411.
Beschastnikh, I., Brun, Y., Ernst, M. D., and Krishna-
murthy, A. (2014). Inferring models of concurrent
systems from logs of their behavior with csight. In
Jalote, P., Briand, L. C., and van der Hoek, A., ed-
itors, 36th ICSE, Hyderabad, India - May 31 - June
07, 2014, pages 468–479. ACM.
Bollig, B., Habermehl, P., Leucker, M., and Monmege, B.
(2014). A robust class of data languages and an appli-
cation to learning. Log. Methods Comput. Sci., 10(4).
Dayarathna, M. and Perera, S. (2018). Recent advance-
ments in event processing. ACM Comput. Surv.,
51(2):33:1–33:36.
Emam, S. S. and Miller, J. (2018). Inferring extended
probabilistic finite-state automaton models from soft-
ware executions. ACM Trans. Softw. Eng. Methodol.,
27(1):4:1–4:39.
Forrest, S., Hofmeyr, S. A., Somayaji, A., and Longstaff,
T. A. (1996). A sense of self for unix processes. In
1996 IEEE Symposium on Security and Privacy, May
6-8, 1996, Oakland, CA, USA, pages 120–128. IEEE
Computer Society.
García-Teodoro, P., Díaz-Verdejo, J., Maciá-Fernández, G.,
and Vázquez, E. (2009). Anomaly-based network
intrusion detection: Techniques, systems and chal-
lenges. Computers & Security, 28(1):18–28.
Gopstein, D., Iannacone, J., Yan, Y., DeLong, L., Zhuang,
Y., Yeh, M. K.-C., and Cappos, J. (2017). Understand-
ing misunderstandings in source code. In Proceedings
of the 2017 11th Joint Meeting on Foundations of Soft-
ware Engineering, ESEC/FSE 2017, page 129–139,
New York, NY, USA. Association for Computing Ma-
chinery.
Hak5 (2022). Usb rubber ducky. https://docs.hak5.org/
usb-rubber-ducky-1/.
Hirzel, M. (2012). Partition and compose: parallel complex
event processing. In Bry, F., Paschke, A., Eugster,
P. T., Fetzer, C., and Behrend, A., editors, Proceed-
ings of the Sixth ACM International Conference on
Distributed Event-Based Systems, DEBS 2012, Berlin,
Germany, July 16-20, 2012, pages 191–200. ACM.
Hirzel, M., Andrade, H., Gedik, B., Jacques-Silva, G.,
Khandekar, R., Kumar, V., Mendell, M. P., Nasgaard,
H., Schneider, S., Soulé, R., and Wu, K. (2013). IBM
streams processing language: Analyzing big data in
motion. IBM J. Res. Dev., 57(3/4):7.
Kaminski, M. and Francez, N. (1994). Finite-memory au-
tomata. Theor. Comput. Sci., 134(2):329–363.
Ko, C., Fink, G., and Levitt, K. N. (1994). Automated de-
tection of vulnerabilities in privileged programs by ex-
ecution monitoring. In 10th ACSAC 1994, 5-9 Decem-
ber, 1994 Orlando, FL, USA, pages 134–144. IEEE.
Mariani, L., Pezzè, M., and Santoro, M. (2017). Gk-tail+
an efficient approach to learn software models. IEEE
Trans. Software Eng., 43(8):715–738.
McMahon, L. E. (1979). SED: a Non-interactive Text Edi-
tor. Bell Telephone Laboratories.
Moore, P., Cappos, J., Frankl, P. G., and Wies, T. (2019).
Charting a course through uncertain environments:
SEA uses past problems to avoid future failures. In
Wolter, K., Schieferdecker, I., Gallina, B., Cukier, M.,
Natella, R., Ivaki, N. R., and Laranjeiro, N., editors,
30th IEEE International Symposium on Software Re-
liability Engineering, ISSRE 2019, Berlin, Germany,
October 28-31, 2019, pages 1–12. IEEE.
Provos, N. (2003). Improving host security with system call
policies. In Proceedings of the 12th USENIX Secu-
rity Symposium, Washington, D.C., USA, August 4-8,
2003. USENIX Association.
Walkinshaw, N., Taylor, R., and Derrick, J. (2013). Infer-
ring extended finite state machine models from soft-
ware executions. In Lämmel, R., Oliveto, R., and
Robbes, R., editors, 20th Working Conference on Re-
verse Engineering, WCRE 2013, Koblenz, Germany,
October 14-17, 2013, pages 301–310. IEEE Computer
Society.
ICSOFT 2022 - 17th International Conference on Software Technologies
144