20 resultados para Open-source code
Resumo:
Maintaining object-oriented systems that use inheritance and polymorphism is difficult, since runtime information, such as which methods are actually invoked at a call site, is not visible in the static source code. We have implemented Senseo, an Eclipse plugin enhancing Eclipse's static source views with various dynamic metrics, such as runtime types, the number of objects created, or the amount of memory allocated in particular methods.
Resumo:
Code clone detection helps connect developers across projects, if we do it on a large scale. The cornerstones that allow clone detection to work on a large scale are: (1) bad hashing (2) lightweight parsing using regular expressions and (3) MapReduce pipelines. Bad hashing means to determine whether or not two artifacts are similar by checking whether their hashes are identical. We show a bad hashing scheme that works well on source code. Lightweight parsing using regular expressions is our technique of obtaining entire parse trees from regular expressions, robustly and efficiently. We detail the algorithm and implementation of one such regular expression engine. MapReduce pipelines are a way of expressing a computation such that it can automatically and simply be parallelized. We detail the design and implementation of one such MapReduce pipeline that is efficient and debuggable. We show a clone detector that combines these cornerstones to detect code clones across all projects, across all versions of each project.
Resumo:
Software developers are often unsure of the exact name of the method they need to use to invoke the desired behavior in a given context. This results in a process of searching for the correct method name in documentation, which can be lengthy and distracting to the developer. We can decrease the method search time by enhancing the documentation of a class with the most frequently used methods. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem - written in the same language and sharing dependencies. We implemented a proof of concept of the approach for Pharo Smalltalk and Java. In Pharo Smalltalk, methods are commonly searched for using a code browser tool called "Nautilus", and in Java using a web browser displaying HTML based documentation - Javadoc. We developed plugins for both browsers and gathered method usage data from open source projects, in order to increase developer productivity by reducing method search time. A small initial evaluation has been conducted showing promising results in improving developer productivity.
Resumo:
Dannie Jost gave an introductory presentation on the emergence on open hardware phenomena, including synthetic biology and other technological environments at the HEPTech Workshop on Open Hardware on June 13 held at the GSI, Darmstadt (Germany). The workshop was organized by CERN and GSI. This event addressed the OSHW phenomenon and its implications for academia and industry with special attention to knowledge and technology transfer issues. Consideration was given to the various aspects of open source hardware development, and how these are dealt with in academia and industry. Presentations from legal experts, academics, practitioners and business provided input for the discussions and exchange of ideas.
Resumo:
Dannie Jost gave a presentation outlining some of the challenges to the patent system presented by open source hardware at the "Open Knowledge Festival", under the topic stream treating open design, hardware, manufacturing and making; September 19, 2012; Helsinki, Finland. This topic stream generated considerable discussion, and it serves to educate an audience that is usually very adverse to patents and copyright, and helps the researcher understand the issuing conflicts surrounding emerging technologies, in particular digital technologies, and the maker movement (digitally enabled).