Ullmana,

jest współautorem trzech książek o analizie algorytmów Elementy analizy algorytmów [], Analiza algorytmów i struktur danych [], Analysis of Algorithms and Data Structures []

W zakresie języków programowania obiektowego Jest współautorem języka programowania obiektowego Loglan'82 [, ]

Jest autorem running systemu (dzisiaj częściej używa się nazwy maszyna wirtualna) dla języka Loglan'82. Przy tej okazji rozwiązał wiele problemów: Czy istnieje taki system zarządzania pamięcią obiektów, w którym można usuwać niepotrzebne obiekty w sposób bezpieczny (tzn. bez ryzyka powstania wiszących referencji) i w czasie stałym? W jaki sposób należy odszukiwać wystąpienie deklarujące dany identyfikator używany w danym miejscu programu? Czy można zaadaptować (zachować) mechanizm Display Vectora? Jak ma działać system współprogramów? Opracował bezpieczny i efektywny system zarządzania pamięcią obiektów, [, ], jest to system kompletny, oferujący operacje: tworzenia nowego obiektu i rezerwowania pamięci dla niego, kompresji kopca obiektów, odśmiecania kopca, tj. pamięci obiektowej i przede wszystkim operację kill bezpiecznego usuwania obiektu. Tutaj omówimy jego unikalną cechę wyrażającą się w postaci poniższego schematu: Schemat aksjomatu instrukcji kill