About me
Graduate student at MIT
Software Design Group
Computer Science & Artificial Intelligence Lab (CSAIL)
Department of Electrical Engineering and Computer Science
I am a graduate student at MIT working with Prof. Daniel Jackson on Software Design and Software Engineering in general. I am interested in developing tools and techniques that help software engineers build strong, robust and reliable software systems more easily.
In particular, I'm working on declarative program specifications and integrating them with traditional programming languages by providing means of executing such specifications and/or synthesizing lower-level code from them.
Projects:
- Squander - a framework for unified execution of imperative and declarative code
- Korat - a tool for automated generation of structurally complex test inputs for Java programs.
- Puzzler - a solver for natural-language logic puzzles
Publications
-
A. Milicevic, D. Rayside, K. Yessenov, and D. Jackson.
Unifying Execution of Imperative and Declarative Code
33rd International Conference on Software Engineering (ICSE 2011), Waikiki, Honolulu, Hawaii, May 2011.
-
J. P. Near, A. Milicevic, E. Kang, D. Jackson.
A Lightweight Approach to Construction and Evaluation of a Dependability Case
33rd International Conference on Software Engineering (ICSE 2011), Waikiki, Honolulu, Hawaii, May 2011.
-
A. Milicevic, H. Kugler.
Model Checking Using SMT and Theory of Lists
3rd NASA Formal Method Symposium (NFM 2011), Pasadena, California, April 2011.
-
Aleksandar Milicevic
Executable Specifications for Java Programs
Massachusetts Institute of Technology, Master Thesis, September 2010
-
D. Rayside, A. Milicevic, K. Yessenov, G. Dennis and D. Jackson
Agile Specifications
OOPSLA Onward! 2009 (short paper), Orlando, Florida, USA
-
D. Rayside, Z. Benjamin, J. Near, R. Sing, A. Milicevic and D. Jackson
Equality and Hashing for (almost) Free: Generating Implementations from Abstraction Functions
31st International Conference on Software Engineering
(ICSE
2009), Vancouver, Canada
[Acceptance rate 12%]
-
S. Misailovic, A. Milicevic, N. Petrovic, S. Khurshid,
and D. Marinov
Parallel
test generation and execution with Korat
6th joint meeting of
the European Software Engineering Conference and the ACM
SIGSOFT Symposium on the Foundations of Software Engineering
(ESEC/FSE
2007), Dubrovnik, Croatia, Sept. 2007. [Acceptance rate 17% (43/251 papers)]
-
A. Milicevic, S. Misailovic, D. Marinov, and S. Khurshid
Korat: A
Tool for Generating Structurally Complex Test Inputs
Formal Research Demo at the 29th International Conference on Software Engineering
(ICSE Demo 2007), Minneapolis, MN, May 2007. [Acceptance rate: 22% (12/56 papers)]
-
S.Misailovic, A.Milicevic, S.Khurshid, D.Marinov
Generating Test Inputs for Fault-Tree Analyzers using Imperative Predicates
Workshop on Advances and Innovations in Systems Testing
(STEP 07), Memphis, TN, May 2007.
Education
-
College: University of Belgrade, School of Electrical Engineering,
Department of Computer Science. GPA: 9.72/10.00.
[2003 - 2007]
-
Visiting Scholar at UIUC (the University of
Illinois at Urbana Champaign)
Advisor: Prof. Darko Marinov
Subject: Software testing, automatic test case generation and model checking.
[August 2006 - September 2006]
-
Summer internship at SOL
(Serbian Object Laboratories)
Advisor: Prof. Dragan Milicev
Subject: Model driven development of Object Oriented Information Systems.
[July 2005]
-
High School: Mathematical Gymnasium, Belgrade, a high school specializing in math
and computer science, unique in Serbia. Average mark: 5.00/5.00.
[1999 - 2003]
Previous Work Experience
-
Summer internship at Microsoft Research Cambridge (UK)
Position: Research Intern
Host: Hillel Kugler
Topic: Analysis and execution of Live Sequence Charts with SMT solvers
[June 2009 - August 2009]
-
Software Engineer at SOL
(Serbian Object Laboratories) - involved in the development of EDMT® Server. Technologies used: WebWork, Java Servlets, WS, SOAP, JSP, HTML, CSS, JS, AJAX, with Sybase IQ database.
[March 2006 - August 2008]
-
Summer internship at Google Inc. in
New York
Position: Software Engineering Intern
Host: Nemanja Petrovic
Subject: Computer vision, machine learning, development
for mobile devices.
[July 2007 - September 2007]
-
Windows Server 2003 system administration at School of Electrical
Engineering in Belgrade. Maintaining and administering
small computer network (30 client computers
under Windows XP operating system and one server under Windows 2003 Server)
for the teaching and lab purposes.
[November 2005 - February 2007]
-
Network and system administration at the local computer-games
playground (10 computers under Windows XP operating system).
[June 2003 - October 2003]
Projects
-
Korat - a research project
on automatic test case generation in collaboration with
Prof. Darko Marinov from University of Illinois at Urbana Champaign.
[November 2006]
-
JOverflow - a research
project with Prof. Darko Marinov from University of Illinois at Urbana Champaign on arithmetic overflow detection for Java programs.
[September 2006]
-
JPF patch
- contributed a code patch to Java PathFinder (the first open-source software from NASA) that checks for runtime arithmetic
overflows.
[September 2006]
-
BMMsoft Server
- rule-based, real-time auto-classification of emails and documents. A
multi-platform, multi-language system that captures and stores
structured and unstructured data for data protection and
cross-correlation analysis. Project is led by Paul Krneta as CTO of BMMsoft and Prof. Dragan Milicev as
CTO of SOL. [March 2006 - ]
-
CPUSimulator - Swing-based visual simulator of the imaginary processor:
Register Transfer Logic view, per-clock, per-instruction and per-program simulation advance,
real-time register and memory values editing, support for custom program loading. A school project for
the "Computer Architecture and Organization" course in collaboration with colleagues Ana Hadzievska,
Dusan Matic, Milos Petrovic, Milos Siroka. [July 2006]
-
Multithreading support for C++ - A java-like threading model for 16-bit C++. Features: context switching,
explicit synchronous preemption, asynchronous preemption (caused by an interrupt), time sharing,
round-robin scheduling. Concepts: semaphores, events, mutexes, monitors. A school project for the
"Operating Systems" course. [July 2005]
Teaching Activities
-
Lab assistant for undergraduate courses in
"Computer Architecture and Organization", "Operating Systems",
"Data Structures" and "Pascal programming" at School of Electrical
Engineering in Belgrade - gave help and graded students.
Awards and Scholarships
-
College
- Elektrijada 2006 - second place in the international competition
of Schools of Electrical Engineering in Object Oriented Programming discipline.
[May 2006]
- Elektrijada 2005 - first place in the international competition of
Schools of Electrical Engineering in two disciplines: Informatics and
Object Oriented Programming.
[May 2005]
-
Scholarship - EFG Eurobank Student Excellence Scholarship
[2006/2007]
-
Scholarship - Government of the Republic of Serbia for Talented Senior Students
[2006/2007]
-
Scholarship - Government of the City of Belgrade
[2005/2006]
-
Scholarship - Government of the Republic of Serbia
[2003/2004, 2004/2005, 2005/2006]
High School
- all highest marks.
-
Scholarship - Government of the Republic of Serbia
[2002/2003]