Background
I'm a first year PhD student in Computer Science at the University of Massachusetts Amherst (please visit my new webpage at http://www.cs.umass.edu/~mnajafi/ or my personal website at https://mehnajafi.github.io/).
I received my Master's degree in Computer Science from University of
Toronto. My Master's thesis was "Towards an Algorithm for Property- and Structure- Preserving Slicing of Statecharts".
I got my Master's and Bachelor's degrees in Computer Engineering from
Shahid Beheshti University. My Master's thesis was
"An Approach to Animate Object-Z Specifications".
Education
- MSc in Computer Science, University of Toronto, Sep. 2013 - Jan. 2015 (Graduation Date: March 2015)
- MSc in Computer Engineering, Shahid Beheshti University, Sep. 2010 - June 2012
- BSc in Computer Engineering, Shahid Beheshti University, Sep. 2006 - Aug. 2010
Recent Research Projects
Towards an algorithm for property- and structure- preserving slicing of Statecharts
[Joint work with Professor
Marsha Chechik]
Software development and maintenance typically includes changes that are driven either from new requirements
or bugs encountered during software usage.
To introduce changes in the system, developers need to work (write or modify) on a portion of the software with respect to the changes.
Slicing is a reduction technique; it can be used to extract one of computations of software which developers are interested in and leave the others behind; so, slicing can be used to extract relevant portion of the software to the changes. As my M.Sc. thesis, I presented a novel structure- and property- preserving algorithm for slicing Statecharts (a visual language for describing state-based models) with respect to a temporal safety property of interest (it is driven from the changes). The impact of my work is that it enables developers to save time and effort by working on a smaller model scale (portion, or slice) instead of the whole model.
The iBench project proposes a new data integration metadata generator
that can be used to create realistic synthetic data integration
scenarios [1]. iBench's metadata generator is able to
create arbitrarily large and complex schemas, mappings and
constraints, with the ultimate goal of facilitating the empirical
evaluation of data integration solutions. As a graduate student, my
role in this project was to design and implement a number of features
that would allow the benchmark to expand its current repertoire of
features. Two important features are (i) the reuse of schema elements
among multiple instances of randomized data integration scenarios, and
(ii) the generation of inclusion dependencies (e.g., foreign keys),
which can be randomly created for a given source or target schema, or
prescribed by the semantics of a given scenario. These two features
add to iBench's pre-existing highly customizable design.
[1] P. C. Arocena, M. D'Angelo, B. Glavic and R. J. Miller, iBench First Cut, Technical Report, Department of Computer Science, University of Toronto, 2013.
A usability case study using iBench
In this project we demonstrate how iBench can be used to empirically
evaluate a data exchange mapping operator called MapMerge [2]. The MapMerge operator, proposed by Alexe, Hernandez,
Popa, and Tan [2], allows a user to combine a
number of independently created schema mappings into a single, simpler
mapping. As a graduate student, my role in this project was to study
and propose a new set of empirical experiments that would showcase how
effective MapMerge can be with varying degrees of schema reuse and
inclusion dependencies. The experimental plan I designed goes beyond
the existing MapMerge evaluation [2], and covers
a wide range of synthetic mappings. My work in this project
demonstrates that iBench is well positioned for supporting empirical
data integration research.
[2] B. Alexe, M. Hernandez, L. Popa and W. Tan, MapMerge: correlating independent schema mappings, The VLDB Journal, Vol. 21, No. 2, pp. 191-211, 2012.
Publications
- A Set of Refactoring Rules for UML-B Specifications
M. Najafi, H. Haghighi and T. Zohdi Nasab.
To be apperead in Computing and Informatics, 2016.
- A Formal Mapping from Object-Z Specification to C++ Code
M. Najafi, and H. Haghighi.
Elsevier Journal of Scientia Iranica, Vol. 20, No. 6, pp. 1953-1977, 2013.
- An Approach to Animate Object-Z Specification Using C++
M. Najafi, and H. Haghighi.
Elsevier Journal of Scientia Iranica, Vol. 19, No. 6, pp. 1699-1721, 2013.
- An Integration of UML-B and Object-Z in Software Development Process
M. Najafi, and H. Haghighi.
International Joint Conferences on Computer, Information, and System Sciences, and Engineering 2011 (CISSE 2011), Springer, 2012.
- An Animation Approach to Develop C++ Code from Object-Z Specifications
M. Najafi, and H. Haghighi
2011 CSI International Symposium on Computer Science and Software Engineering (CSSE 2011), IEEE, 2011.
- Refinement of Object-Z Specification Using Morgan's Refinement Calculus
M. Najafi, and H. Haghighi
World Academy of Science, Engineering and Technology, No. 59, pp. 1735-1744, 2011.
Poster
- Chunk-Based Software Evolution
M. Najafi, R. Salay and M. Chechik.
NECSIS 2014.
Talk
- Verification in Chunk-Based Software Evolution, NECSIS 2014
Relevant Courses
Teaching Assistantships
- CSC43H3 Introduction to Databases, Summer 2014
- CSCA20 Introduction to Computer Programming, Summer 2014
- CSC148 Introduction to Computer Science, Winter 2014 & Summer 2014
- CSC108 Introduction to Computer Programming, Summer 2014 & Fall 2014
- CSCB20 Introduction to Databases and Web Applications, Winter 2014
- CSC369 Operating Systems, Fall 2013
- Formal Methods in Software Development, Fall 2011
- Principles of Database Design, Winter 2011
- Software Engineering 2, Winter 2011
- Operating System Lab, Fall 2010, Winter 2011 & Fall 2011