Ohad Barzilay

Learn More
Question and Answer (Q&A) websites, such as Stack Overflow, use social media to facilitate knowledge exchange between programmers and fill archives with millions of entries that contribute to the body of knowledge in software development. Understanding the role of Q&A websites in the documentation landscape will enable us to make recommendations on(More)
Design by contract is a practical methodology for evolving code together with its specification. The contract has important methodological implications on the design of the program. In addition, tools that instrument the code to check for contract violations help the development process by catching errors close to their sources. This is complicated by(More)
Modern Q&A websites, such as Stack Overflow, use social media to provide concise answers, and offer rich technical context with quality assessment capabilities. Although some of the answers may include executable code snippets, they are entangled in free text and are not easily extracted. Q&A websites are not designed for such direct code reuse. We(More)
Crowdfunding, the process of directly financing projects and ventures over the internet, is gaining momentum. Industry reports estimate that sums raised on crowdfunding platforms have nearly doubled in 2012, totaling close to US$3.0B.1 Initially, crowdfunding was performed using social media such as mailing lists or social networks. The maturity of Web 2.0(More)
The Aspect-Oriented Programming methodology provides a means of encapsulation of crosscuting concerns in software. AspectJ is a general-purpose aspect-oriented programming language that extends Java. This paper investigates the semantics of call and execution pointcuts in AspectJ, and their interaction with inheritance. We present a semantic model(More)
Melanoma originates in the epidermis and becomes metastatic after invasion into the dermis. Prior interactions between melanoma cells and dermis are poorly studied. Here, we show that melanoma cells directly affect the formation of the dermal tumour niche by microRNA trafficking before invasion. Melanocytes, cells of melanoma origin, are specialized in(More)
NANDFS is a flash file system that exposes a memory-performance tradeoff to system integrators. The file system can be configured to use a large amount of RAM, in which case it delivers excellent performance. In particular, when NANDFS is configured with the same amount of RAM that YAFFS2 uses, the performance of the two file systems is comparable (YAFFS2(More)
Software engineering (SE) is a multidimensional field that involves activities in various areas and disciplines, such as computer science, project management, and system engineering. Though modern SE curricula include designated courses that address these various subjects, an advanced summary course that synthesizes them is still missing. Such a course(More)