Category Archives: Uncategorized

Research

CURRENT

Object Oriented Programming: Languages, Implementation and Design;
Data Mining in Software Repositories.

PREVIOUS

Theoretical computer science (research areas included algorithms for parallel computation and hashing); Visual Languages for Information Systems Modeling; Morphology of images.

research221

Honors


  • Leibniz Foundation graduate scholarship from the Hebrew University:
    1986/87, 1987/88, 1988/9.
  • Taub prize for excellence in research in Object Oriented Programming, Technion, 1995.
  • Muriel and David Jacknow Technion prize for excellence in teaching and development of the
    curriculum, Technion, 1998.
  • Most Influential Paper Award from VL/HCC, the IEEE International Symposium on Visual Languages “Formalizing Spider Diagrams”, with John Howse and Stuart Kent, 1999.
  • Hershel Rich – Technion Innovation Award, “Efficient Dilation, Erosion, Opening and
    Closing Algorithms”, 2001.
  • Poetry of Science in memory of the Prof. Ofer Lider, 2007.
  • Most Influential Paper Award from the ACM/IEEE International Conference on Automated Software Engineering, “Precise Specification and Automatic Application of Design Patterns”, with Amnon H. Eden, Amiram Yehudai, 2011.
  • Distinguished Paper Award ECOOP, “Formal Language Recognition with the Java Type Checker” with Tomer Levy, 2016.
  • Best Tool SANER, “The Spartanizer – Massive Automatic Refactoring”, 2017.

Courses


Winter 2016-2017

Spring 2016

Winter 2015-2016

Summer 2015

Winter 2014-2015

Winter 2013-2014

Summer 2013

Spring 2013

  • Yearly project in Software Engineering, Stage B

Winter 2012-2013

Spring 2012

Winter 2011-2012

  • Yearly project in Software Engineering, Stage A

Spring 2011

  • Yearly project in Software Engineering, Stage B
  • Seminar in Computer Science 5

Winter 2010-2011

Spring 2008

Winter 2007-2008

Spring 2007

Winter 2006-2007

  • Seminar in Software Engineering

Spring 2006

Winter 2005-2006

Spring 2005

Winter 2004-2005

  • Seminar in Computer Science 1

Spring 2004

Winter 2003-2004

Spring 2003

  • Object-Oriented Programming

Winter 2002-2003

Spring 2002

  • Object-Oriented Programming

Winter 2001-2002

  • Object-Oriented Programming
  • Advanced Topics in Computer Science 4

Publications


Theses

  • Joseph Gil. Parallel Computation of Editing Distance. M.Sc. Thesis. The Hebrew University
    of Jerusalem. 1986.
  • Joseph Gil. Lower Bounds and Algorithms for Hashing and for Parallel Processing. Ph.D. Dissertation. The Hebrew University of Jerusalem. 1991.

Published:

1990 – 1999


1990

Joseph (Yossi) Gil, Friedhelm Meyer auf der Heide, Avi Wigderson.  STOC 1990: 244-253.

1991

Joseph (Yossi) Gil, Yossi Matias and Uzi Vishkin. FOCS 1991: 698-710.

Joseph (Yossi) Gil and Yossi Matias. SODA 1991: 271-280.

Joseph (Yossi) Gil. SPDP 1991: 10-17.

1992

♣ Geometric medians

Joseph (Yossi) Gil, William L. Steiger, and Avi Wigderson. Discrete Mathematics, Special volume on Topological, Algebraic, and Combinatorial Structures, 108(1):37-51, October 1992.

Martin Dietzfelbinger, Joseph (Yossi) Gil, Yossi Matias and Nicholas Pippenger. ICALP 1992: 235-246.

Joseph (Yossi) Gil and Yossi Matias. LATIN 1992: 204-218.

1993

♣ Computing 2-d min, median, and max filters

Joseph (Yossi) Gil and Michael Werman. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(5):504–507, May 1993.

1994

♣ Designing algorithms by expectations

Joseph (Yossi) Gil and Yossi Matias. Information Processing Letters, 51(5):31-35, July 1994.

♣ Renaming and dispersing: Techniques for fast load balancing‏

Joseph (Yossi) Gil. Journal of Parallel and Distributed Computing, 23(2):149-157, November 1994.

♣ Leaders election without a conflict resolution rule

Joseph (Yossi) Gil and Yossi Matias. Journal of Parallel and Distributed Computing, 23(2):135-148, November 1994.

1995

♣ Linear time Euclidean distance transform algorithms‏

Heinz Breu, Joseph (Yossi) Gil, David G. Kirkpatrick and Michael Werman. IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(5):529–533, May 1995.

Joseph (Yossi) Gil and Alon Itai. ESA 1995: 113-127.

1996

♣ An Effective Load Balancing Policy for Geometric Decaying Algorithms

Joseph (Yossi) Gil and Yossi Matias. Journal of Parallel and Distributed Computing, 36(2):185-188, August 1996.

♣ The tree model for hashing: lower and upper bounds

Joseph (Yossi) Gil, Friedhelm Meyer auf der Heide, and Avi Wigderson.  SIAM Journal on Computing, 25(5):936-955, October 1996.

Joseph (Yossi) Gil and Alan S. Wagner. IPPS 1996: 831-835.

Joseph (Yossi) Gil and David H. Lorenz. OOPSLA 1996: 214-231.

1997

♣  Automating the Application of Design Patterns

Amnon H. Eden, Joseph (Yossi) Gil and Amiram Yehudai. Journal of Object Oriented Programming, 10 (2): 44-46, 1997.

Joseph (Yossi) Gil and David H. Lorenz. ECOOP Workshops 1997: 108-111.

Amnon H. Eden, Amiram Yehudai and Joseph (Yossi) Gil. ASE 1997: 143-152.

Joseph (Yossi) Gil and Beery Holstein. TOOLS (23) 1997: 272-281.

  • Extendability vs. Substitutability in OO Languages

Joseph (Yossi) Gil. TOOLS (25) 1997: 368.

1998

♣ Visualising action contracts in object-oriented modelling‏

Stuart Kent and Joseph (Yossi) Gil. IEE Proceedings: Software 145(2-3):70-78, April-June 1998.

♣ Design Patterns and Language Design

Joseph (Yossi) Gil and David H. Lorenz. IEEE Computer 31(3): 118-120, March 1998.

Simple Fast Parallel Hashing by Oblivious Execution

Joseph (Yossi) Gil and Yossi Matias. SIAM Journal on Computing, 27(5): 1348-1375, 1998.

Joseph (Yossi) Gil and Zvi Gutterman. COOTS 1998: 249-264.

Joseph (Yossi) Gil and Alon Itai. ECOOP 1998: 601-634.

Joseph (Yossi) Gil and Stuart Kent. ICSE 1998: 105-114.

Joseph (Yossi) Gil and Y. Eckel. ASE 1998: 217-220.

1999

How to Pack Trees

Joseph (Yossi) Gil and Alon Itai. Journal of Algorithms, 32(2): 108–132, August 1999.

An Alternative Mapping of 3-D Space onto Processor Arrays

Joseph (Yossi) Gil and Alan Wagner. Journal of Parallel and Distributed Computing, 59:360-380, December 1999.

Shmuel Katz and Joseph (Yossi) Gil. ECOOP Workshops 1999: 308-309.

Peter F. Sweeney and Joseph (Yossi) Gil. OOPSLA 1999: 256-275.

Joseph (Yossi) Gil, John Howse and Stuart Kent. TOOLS (30) 1999: 453-463.

Joseph (Yossi) Gil, John Howse and Stuart Kent. VL 1999: 130-137.

2000 – 2009


2001

♣  JAMOOS-a domain-specific language for language processing

Joseph (Yossi) Gil and Yuri Tsoglin. Journal of Computing and Information Technology, 9(4):305-321, 2001.

Spider diagrams: A diagrammatic reasoning system

John Howse, Fernando Molina, John Taylor J, Stuart Kent and Joseph (Yossi) Gil. Journal of Visual Languages and Computing, 12 (3): 299-324, 2001.

Marina Biberstein, Joseph (Yossi) Gil and Sara Porat. ECOOP 2001: 28-52.

Joseph (Yossi) Gil. POPL 2001: 276-289

Joseph (Yossi) Gil, John Howse and Stuart Kent. HCC 2001: 72.

2002

Positive Semantics of Projections in Venn- Euler Diagrams

Joseph (Yossi) Gil, John Howse, and Elena Tulchinsky. Journal of Visual Languages & Computing, 13(2): 197-227 April, 2002.

Efficient Dilation, Erosion, Opening and Closing Algorithms

Joseph (Yossi) Gil and Ronny Kimmel. IEEE Transactions on Pattern Analysis and Machine Intelligence 24(12):1606-1617.

Joseph (Yossi) Gil, John Howse and Stuart Kent. ICSE 2002: 697-698.

Yoav Zibin and Joseph (Yossi) Gil. OOPSLA 2002: 142-160.

2003

♣  Automated Transformations for PDE Systems with Application to Multigrid Solvers

Joseph (Yossi) Gil, Zvika Gutterman, Shmuel Onn and Irad Yavneh. SIAM Journal on Scientific Computing, 24(3): 886-904.

Uri Dekel and Joseph (Yossi) Gil. OOPSLA Companion 2003: 288-289.

Yoav Zibin and Joseph (Yossi) Gil. POPL 2003: 126-138.

Uri Dekel and Joseph (Yossi) Gil. WCRE 2003: 353-365.

2004

Tal Cohen and Joseph (Yossi) Gil. ECOOP 2004: 219-243.

Vitaly Surazhsky and Joseph (Yossi) Gil. SAC 2004: 1496-1502.

2005

Efficient Subtyping Tests with PQ-Encoding

Yoav Zibin and Joseph (Yossi) Gil. ACM Transactions on Programming Languages and Systems (TOPLAS), 27 (5): 819-856, September 2005.

Efficient algorithms for isomorphisms of simple types

Yoav Zibin and Joseph (Yossi) Gil. Mathematical Structures in Computer Science, 15(5): 917-957, October 2005.

Joseph (Yossi) Gil and Itay Maman. OOPSLA 2005: 97-116.

2006

Shakeins: Non-Intrusive Aspects for Middleware Frameworks

Tal Cohen and Joseph (Yossi) Gil. Transactions on Aspect Oriented Software Development II. LNCS,4242: 101-146, 2006.

On the Arc Length Parametrization Problem

Joseph (Yossi) Gil. International Journal of Pure and Applied Mathematics, Volume 31 No. 3, 401-419.

Joseph (Yossi) Gil, Alexander Gorovoy and Alon Itai. ITRE 2006: 69-73.

Tal Cohen, Joseph (Yossi) Gil and Itay Maman. OOPSLA 2006: 89-108.

2007

Randomized Algorithms for Isomorphisms of Simple Types

Joseph (Yossi) Gil and Yoav Zibin. Mathematical Structures in Computer Science, 17 (3): 565-584, June 2007.

Better Construction with Factories

Joseph (Yossi) Gil and Tal Cohen. Journal of Object Technology 6(6): 103-123, July 2007.

Efficient Dynamic Dispatching with Type Slicing

Joseph (Yossi) Gil and Yoav Zibin. ACM transactions on programming languages and systems, 30 (1): 5-58, November 2007.

Sara Cohen,Joseph (Yossi) Gil and Evelina Zarivach. DBPL 2007: 32-47

  • Eliminating Impedance Mismatch in C++

Joseph (Yossi) Gil and Keren Lenz. VLDB 2007: 1386-1389

2008

Two-dimensional bidirectional object layout

Joseph (Yossi) Gil, William Pugh, Grant E. Weddell and Yoav Zibin. ACM Transactions on Programming Languages and Systems (TOPLAS), 30(5), 2008.

Joseph (Yossi) Gil and Itay Maman. OOPSLA 2008: 73-90

Tal Cohen,Joseph (Yossi) Gil and Itay Maman. TOOLS (46) 2008: 100-120

2009

Joseph (Yossi) Gil and Tali Shragai. ECOOP 2009: 495-519

Tal Cohen and Joseph (Yossi) Gil. PPPJ 2009: 57-66

2010 – Today


2010

Simple and safe SQL queries with C++ templates

Joseph (Yossi) Gil and Keren Lenz. Science of  Computer Programming  75(7): 573-595, 2010.

Joseph (Yossi) Gil and Keren Lenz. ECOOP 2010: 529-551.

Joseph (Yossi) Gil and Shiri Kremer-Davidson and Itay Maman. SPLC 2010: 271-285.

Joseph (Yossi) Gil and Cristina Monni. 2010.

2011

Joseph (Yossi) Gil, Maayan Goldstein and Dany Moshkovich. PLATEAU 2011: 57-64

Joseph (Yossi) Gi, Keren Lenz and Yuval Shimron. SPLASH Workshops 2011: 297-308

2012

Keyword-and Default-Parameters in JAVA

Joseph (Yossi) Gil and Keren Lenz. Journal of Object Technology, 11(1):1-17.

♣  Meta to the Rescue–Augmented Metamodels for Better Deployment of Pre-Packaged Applications

Joseph (Yossi) Gil, Elad Fine, and Natalia Razinkov. Journal of Software Engineering and Applications. October 2012.

Bashful Writing and Active Documents

Joseph (Yossi) Gil. The PracTeX Journal 2012-1‏.

Joseph (Yossi) Gil and Yuval Shimron. ECOOP 2012: 356-382.

Joseph (Yossi) Gil, Maayan Goldstein and Dany Moshkovich. MSR 2012: 227-236.

Joseph (Yossi) Gil and David Allen Scott. CoRR abs/1201.3077 (2012)

Joseph (Yossi) Gil, Maayan Goldstein and Dany Moshkovich. CoRR abs/1201.3078 (2012)

2015

On Incomplete Bug Fixes in Eclipse and Programmers’ Intuition on These

Sabih Agbaria and Joseph (Yossi) Gil. ACM SIGSOFT Software Engineering Notes. January 2015.

2016

When Do Software Complexity Metrics Mean Nothing?- When Examined out of Context

Joseph (Yossi) Gil and Gal Lalouche. Journal of Object Technology, 15 (1) 1-25.

Eli Sennesh and Joseph (Yossi) Gil. SAC 2016: Symposium on Applied Computing (SAC).

Joseph (Yossi) Gil and Tomer Levy. ECOOP 2016: 10:1-10:27

2017

♣  On the correlation between size and metric validity

Joseph (Yossi) Gil and Gal Lalouche. Empirical Software Engineering. October 2017.

Joseph (Yossi) Gil and Matteo Orrù. SANER 2017: 477-481.

Joseph (Yossi) Gil, Ori Marcovitch and Matteo Orrù.  SANER 2017: 447-451.

Joseph (Yossi) Gil and Matteo Orrù. SAC 2017: Symposium on Applied Computing (SAC), 1615-1622.

Manuscripts:

Sabih Agbaria and Joseph (Yossi) Gil. 2013

Joseph (Yossi) Gil. 2017.

Joseph (Yossi) Gil, Matteo Orrú and Dor Ma’ayan. 2017.

 

 Journal Articles ♣

Conference and workshop papers ●

Students


Postdoc and Research Associates Supervision:

 1. Dr. Michael Rudzsky, Giladi Program, 1996-1998. Last seen as: Researcher at Technion – Israel Institute of Technology“. Linkedin.

 2. Dr. Enno Scholtz, Minnerva Grant, Spring, 1997. Last seen as: Co-Founder & CEO at HYPE Innovation“. Linkedin.

 3. Dr. Cristina Monni, Spring/Summer, 2014. Last seen as: Postdoctoral Fellow – University of LuganoLinkedin.

Current:

4. Dr. Matteo Orru. Postdoctoral Fellow – Faculty of Computer Science (Technion – Israel Institute of Technology)Linkedin.

Ph.D. Students:

1. Prof. David H. Lorenz (1999). Compilation of Source Code into Object-Oriented Patterns. Last seen as: Associate Professor  Department of Mathematics and Computer Science (The Open University of Israel) and Visiting Associate Professor  Faculty of Computer Science (Technion – Israel Institute of Technology)“. Linkedin.

2. Dr. Amnon H. Eden (2000). Precise Specification of Design Patterns and Tool Support in Their Application. Last seen as: Principal Scientist at Sapience.orgLinkedin.

3. Dr. Yoav Zibin (2004). Efficient Algorithms for the Runtime Environment of Object Oriented Languages. Last seen as: “CTO and co-founder at Come2PlayLinkedin.

4. Dr. Tal Cohen (2007). Applying Aspect-Oriented Software Development to Middleware Frameworks. Last seen as: “Software engineering manager, Google.

5. Dr. Itay Maman (2012). Formal Patterns in Java Programs. Last seen as: “Teaching Software Design – Faculty of Computer Science (Technion – Israel Institute of Technology) and Devops technical lead at Google“. Linkedin.

6. Dr. Keren Lenz (2013). Internal and External Mechanisms for Extending Programming Languages. Last seen as: “Faculty of Computer Science, Technion – Israel Institute of Technology.

Current:

7. Gal Lalush. The consistency, independence and validity of Software Complexity Metrics.

M.Sc. Students:

1. Erez (Arzhang) Nassimi (1994). Last seen as: R&D Team Leader at Comm-IT“. Linkedin.

2. Hayim Makabee (Ricardo Szmit) (1995). Configurable objects : theory & practice (x). Last seen as: CEO at KashKlikLinkedin.

3. David Barta (1996). A System for Document Reuse (x). Last seen as: Software Architect at DELL-EMC“. Linkedin.

4. Beery Holstein (1997). T++ : Test Case Generator Using Code Abstraction (x). Last seen as: Product Manager, Cloud Developer Services, IBM Watson and Cloud Platform“. Linkedin.

5. Leonid Voldman (1997). Using Smart Terminals to Effectively Enhance Communication Throughput (x). Last seen as: CTO at TokenID” . Linkedin.

6. Jacob Eckel (1998). A Framework for Static Checking of Design Level Traits (x). Last seen as: Director of Technology at Gong.io“. Linkedin.

7. Natalie Eckel (2001). Empirical Study of Object-Layout Strategies and Optimization TechniquesLast seen as: Special Education Student, Oranim College of Education”. Linkedin.

8. Alexander Gorovoy (2001). Applying Data Compression Algorithms to Software Engineering (x). Last seen as: Principal SW Engineer at MediGuide“. Linkedin.

9. Yuri Tsoglin (2001).  JAMOOS – an Object Oriented Language for GrammarsLast seen as: “Software Engineer at Cadence“.

10. Yan Sorkin (2001). CD-Edit- A Constraint Diagrams’ EditorLast seen as: Sr. Engineering Manager at GE Healthcare“. Linkedin.

11. Elena Tulchinsky (2002). Positive Semantics of Projections in Venn-Euler Diagrams Last seen as: Algorithm Architect at Intango“. Linkedin.

12. Uri Dekel (2003). Revealing JAVA Class Structure with Concept LatticesLast seen as: Senior Software Engineer at Google“. Linkedin.

13. Uriel Cohen (2003). Object Relations and Syntactic Mechanisms in Design Patterns (x). Last seen as: Senior SDE at Microsoft“. Linkedin.

14. Zvi Gutterman (2004). Symbolic Pre-Computation for Numerical Applications Last seen as: CEO at CloudShare“. Linkedin.

15.  Anna Bekkerman (2004). Conflict Resolution and Operator Priorities in Extended BNFLast seen as: Sr. Software Engineer at IBM“. Linkedin.

16. Evelina Zarivach (2008). Evaluating Datalog Programs over Infinite and Founded DatabasesLast seen as: Software Engineer at IntelLinkedin.

17. Tali Shragai (2009). Empiric Evaluation of the Usability of Virtual Function Calls within ConstructorsLast seen as: Product Director -Product Madness (London)“. Linkedin.

18. Yuval Shimron (2012). Smaller Footprint for Java CollectionsLast seen as: Lead Software Engineer at Yahoo“. Linkedin.

19. Sabih Agbaria (2013). On Incomplete Bug Fixes and Programmers’ Intuition on These. Last seen as: “Independent App/Games Developer“. 

20. Elior Malul (2014). Towards Temporal Correctness of Event ProcessingLast seen as: Data Scientist Engineer at Yodas.com“. Linkedin.

21. Eli Sennesh (2015). Unstructured Jumps and Compressed Size as Defect-Prediction MetricsLast seen as: Software engineer at Adept Mobile“. Linkedin.

22. Iddo Zmiry (2016). Lola – A Programming Language for Augmenting Programming Languages .

23. Tomer Levy (2017). Fajita – a Fluent API for Automatic Generation of Fluent APIs in Java. Last seen as: Software Engineer“. Linkedin.

Current:

24. Ori Markovitch. A Nano Patterns Language for Java. M.Sc. Student at Technion – Israel Institute of Technology. Linkedin.

25. Matan Peled. Thapl- Theatrical Programming Language. M.Sc. Student at Technion – Israel Institute of Technology. Linkedin.

26. Barak Pat. Geosocial Search- Finding places based on Geotagged Social-Media Posts. M.Sc. Student at Technion – Israel Institute of Technology. Linkedin.

27. Lior Samuel. Explaining the Density Paradox. M.Sc. Student at Technion – Israel Institute of Technology.

28. Dor Maayan. Nominal Patterns. M.Sc. Student at Technion – Israel Institute of Technology.