Demo Data from EDBT 2026 / reviewers in the wild / expert
Amiram Yehudai
dblp:94/6661
· DBLP profile ↗
32ranked-venue papers
4as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 14 · 1 first-authorTheory of computation · 13 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 4Databases, data management, data science and information retrieval · 2 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2Artificial intelligence and machine learning · 1Systems, architecture and hardware · 1Graphics, computer vision, multimedia, augmented reality and games · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
4 papers |
Empirical software engineering · 64% Requirements engineering and software design · 15% Compilers and program optimization · 11% | |
| Theoretical computer science
5 papers |
Automata and formal languages · 100% |
Topics — the 17 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Empirical software engineering
developer studies |
0.1 | 1 | 2011 | Using social media to study the diversity of example usage among professional developers · SIGSOFT FSE 2011 |
Empirical software engineering
mining software repositories |
0.0 | 1 | 2011 | Using social media to study the diversity of example usage among professional developers · SIGSOFT FSE 2011 |
Compilers and program optimization
code generation |
0.0 | 1 | 1997 | Precise Specification and Automatic Application of Design Patterns · ASE 1997 |
Requirements engineering and software design › design patterns
design pattern implementation |
0.0 | 1 | 1997 | Precise Specification and Automatic Application of Design Patterns · ASE 1997 |
Compilers and program optimization
program transformation |
0.0 | 1 | 1993 | Using Transformations in Specification-Based Prototyping · IEEE Trans. Software Eng. 1993 |
Software maintenance and evolution
software evolution |
0.0 | 1 | 1993 | Using Transformations in Specification-Based Prototyping · IEEE Trans. Software Eng. 1993 |
Requirements engineering and software design › specification
executable specification |
0.0 | 1 | 1992 | OBSERV - A Prototyping Language and Environment · ACM Trans. Softw. Eng. Methodol. 1992 |
Programming languages and type systems
language design |
0.0 | 1 | 1992 | OBSERV - A Prototyping Language and Environment · ACM Trans. Softw. Eng. Methodol. 1992 |
Requirements engineering and software design › software design methodology
rapid prototyping |
0.0 | 1 | 1992 | OBSERV - A Prototyping Language and Environment · ACM Trans. Softw. Eng. Methodol. 1992 |
Programming languages and type systems
metaprogramming |
0.0 | 1 | 1997 | Precise Specification and Automatic Application of Design Patterns · ASE 1997 |
Automata and formal languages
pushdown automata |
0.0 | 2 | 1984 | An Intermediate Machine Technique for Deciding Equivalence between a DPDA and a Linear DPDA · Inf. Control. 1984 A Decision Procedure for the Equivalence of Two DPDAs, One of Which is Linear (Extended Abstract) · ICALP 1981 |
Automata and formal languages › regular languages
iteration theorem |
0.0 | 2 | 1983 | An Iteration Theorem for Simple Precedence Languages · J. ACM 1983 An Iteration Theorem for Simple Precedence Languages (Extended Abstract) · ICALP 1982 |
Automata and formal languages › equivalence problem
DPDA equivalence |
0.0 | 1 | 1984 | An Intermediate Machine Technique for Deciding Equivalence between a DPDA and a Linear DPDA · Inf. Control. 1984 |
Automata and formal languages
equivalence problem |
0.0 | 1 | 1984 | An Intermediate Machine Technique for Deciding Equivalence between a DPDA and a Linear DPDA · Inf. Control. 1984 |
Automata and formal languages › equivalence problem
equivalence decidability |
0.0 | 1 | 1980 | The Decidability of Equivalence for a Family of Linear Grammars · Inf. Control. 1980 |
Automata and formal languages
formal grammars |
0.0 | 1 | 1980 | The Decidability of Equivalence for a Family of Linear Grammars · Inf. Control. 1980 |
Automata and formal languages › formal grammars
linear grammars |
0.0 | 1 | 1980 | The Decidability of Equivalence for a Family of Linear Grammars · Inf. Control. 1980 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.0object-oriented design · 0.0meta-programming · 0.0finite state machine · 0.0program transformation · 0.0iteration theorems · 0.0formal language theory · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Processing Large Datasets of Fined Grained Source Code ChangesabstractIn the era of Big Code, when researchers seek to study an increasingly large number of repositories to support their findings, the data processing stage may require manipulating millions and more of records. In this work we focus on studies involving fine-grained AST level source code changes. We present how we extended the CodeDistillery source code mining framework with data manipulation capabilities, aimed to alleviate the processing of large datasets of fine grained source code changes. The capabilities we have introduced allow researchers to highly automate their repository mining process and streamline the data acquisition and processing phases. These capabilities have been successfully used to conduct a number of studies, in the course of which dozens of millions of fine-grained source code changes have been processed. Stanislav Levin, Amiram Yehudai |
ICSME | 2 |
| 2019 | Visually Exploring Software Maintenance ActivitiesabstractLehman's Laws teach us that a software system will become progressively less satisfying to its users over time, unless it is continually adapted to meet new needs. A line of previous works sought to better understand software maintenance by studying how commits can be classified into three main software maintenance activities. Corrective: fault fixing; Perfective: system improvements; Adaptive: new feature introduction. In this work we suggest visualizations for exploring software maintenance activities in both project and individual developer scopes. We demonstrate our approach using a prototype we have built using the Shiny R framework. In addition, we have also published our prototype as an online demo. This demo allows users to explore the maintenance activities of a number of popular open source projects. We believe that the visualizations we provide can assist practitioners in monitoring and maintaining the health of software projects. In particular, they can be useful for identifying general imbalances, peaks, deeps and other anomalies in projects' and developers' maintenance activities. Stanislav Levin, Amiram Yehudai |
VISSOFT | 2 |
| 2017 | The Co-evolution of Test Maintenance and Code Maintenance through the Lens of Fine-Grained Semantic ChangesabstractAutomatic testing is a widely adopted technique for improving software quality. Software developers add, remove and update test methods and test classes as part of the software development process as well as during the evolution phase, following the initial release. In this work we conduct a large scale study of 61 popular open source projects and report the relationships we have established between test maintenance, production code maintenance, and semantic changes (e.g, statement added, method removed, etc.). performed in developers' commits.We build predictive models, and show that the number of tests in a software project can be well predicted by employing code maintenance profiles (i.e., how many commits were performed in each of the maintenance activities: corrective, perfective, adaptive). Our findings also reveal that more often than not, developers perform code fixes without performing complementary test maintenance in the same commit (e.g., update an existing test or add a new one). When developers do perform test maintenance, it is likely to be affected by the semantic changes they perform as part of their commit.Our work is based on studying 61 popular open source projects, comprised of over 240,000 commits consisting of over 16,000,000 semantic change type instances, performed by over 4,000 software engineers. Stanislav Levin, Amiram Yehudai |
ICSME | 2 |
| 2016 | Using Temporal and Semantic Developer-Level Information to Predict Maintenance Activity ProfilesabstractPredictive models for software projects' characteristics have been traditionally based on project-level metrics, employing only little developer-level information, or none at all. In this work we suggest novel metrics that capture temporal and semantic developer-level information collected on a per developer basis. To address the scalability challenges involved in computing these metrics for each and every developer for a large number of source code repositories, we have built a designated repository mining platform. This platform was used to create a metrics dataset based on processing nearly 1000 highly popular open source GitHub repositories, consisting of 147 million LOC, and maintained by 30,000 developers. The computed metrics were then employed to predict the corrective, perfective, and adaptive maintenance activity profiles identified in previous works. Our results show both strong correlation and promising predictive power with R^2 values of 0.83, 0.64, and 0.75. We also show how these results may help project managers to detect anomalies in the development process and to build better development teams. In addition, the platform we built has the potential to yield further predictive models leveraging developer-level metrics at scale. Stanislav Levin, Amiram Yehudai |
ICSME | 2 |
| 2012 | Granulated Code Generation of Interfering Functionalities
Igor Gelfgat, Shmuel S. Tyszberowicz, Amiram Yehudai |
FedCSIS | 3 |
| 2011 | Using social media to study the diversity of example usage among professional developersabstractSocio-professional websites such as LinkedIn use various mechanisms such as network of colleagues, groups and discussions to assist their users in maintaining their professional network and keeping up with relevant discussions. Software professionals post hundreds of thousands of comments each week in these group discussions regarding technological and methodological aspects of their work. Analyzing these comments enables us, the software community at large, to better understand the state of the practice of many aspects of software development. In this paper we describe a case study in which we use such LinkedIn group discussion to learn about developers' perception of using code examples. Ohad Barzilay, Orit Hazzan, Amiram Yehudai |
SIGSOFT FSE | 3 |
| 2009 | Evaluation of a software engineering course by reflectionabstractThe evaluation of an advanced software engineering (SE) course is a challenging task that should be addressed as part of the course design. In this paper, we describe an implementation of the reflective practitioner perspective as part of an advanced SE course and introduce its use for feedback purposes. Reflective feedback goes beyond merely using feedback questionnaires. Furthermore, we show, using both qualitative and quantitative empirical data, that the course on which the perspective was applied meets its objectives and fosters students' awareness to the multidimensional nature of SE. Ohad Barzilay, Orit Hazzan, Amiram Yehudai |
ITiCSE | 3 |
| 2009 | GenUTest: a unit test and mock aspect generation tool
Benny Pasternak, Shmuel S. Tyszberowicz, Amiram Yehudai |
Int. J. Softw. Tools Technol. Transf. | 3 |
| 2006 | XML Syntax Conscious CompressionabstractXML is the standard format of content representation and sharing on the Web. XML is a highly verbose language, especially regarding the duplication of meta-data in the form of elements and attributes. As XML content is becoming more widespread so is the demand to compress XML data volume. The paper presents the best XML compression ratios reported to date. Its advantage over other XML compression techniques is that it uses syntactic information to enhance compression. Therefore, it is a fully syntactic based XML compression. The syntactic information is parsed from XML documents by an innovative XML parser. We developed a new XML parser-generator for that purpose. Our parser-generator is based on a syntactic dictionary (DTD, XML-Schema, etc.) of the XML in order to create an efficient and compact XML parsers. This XML parser-generator is adopted to streaming technologies and can be used in a wide variety of XML applications such as validators, converters, gateways, routers, browsers editors etc. The parsers' symbols are encoded by a partial prediction matching (PPM) codec. We compare between the performance of our algorithm and other existing XML compression techniques. The proposed compression algorithm achieves better compression ratio in comparison to other XML compression techniques that do not utilize syntactic structure. The superiority of our compression technique is more evident when it is tested on XML data sets that contain only tags and not free text S. Harrusi, Amir Averbuch, Amiram Yehudai |
DCC | 3 |
| 2006 | Fortified Web Services Contracts for Trusted ComponentsabstractWeb services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks. While the concepts of Web services are aimed at providing a standard means to support interoperable machine-to-machine interaction over a network, they do not solve the problem of trust between service requesters and providers. A trusted component is defined as a reusable software element possessing specified and guaranteed property qualities. The highly reusable nature of a Web service emphasizes the need for a "trust ensuring" mechanism between the requester and the provider of the service. The focus of this paper is to suggest a fortified Web services architecture introducing the concept of contracts to increase the level of trust between the requester and the provider of the requested service. In order to achieve this goal a new language is introduced into the fortified Web services architecture: WS-Contract. WS-Contract is a machine-processable specification of the Web service semantics, formally supporting the different levels of contract information. It defines the pre-and post conditions of the Web services interface, the synchronization policy of the service and the QoS parameters that should be maintained between the requester agent and the provider agent. WS-Contract relies, wherever possible, on existing Web services standards to build the necessary "trust ensuring" mechanism for Web services Avi Jencmen, Amiram Yehudai |
ICWS | 2 |
| 2003 | Behavioral Consistency Validation of UML DiagramsabstractUML provides several kinds of diagrams to model the behavior and structure of a system under development. A consistency problem may arise due to the fact that some aspects of the model may be described by more than one diagram. Hence, it is important that the consistency of the system description should be checked before implementing it. This paper describes an algorithmic approach to a consistency check between UML sequence and state diagrams. The algorithm we provide also handles complex state diagrams, e.g. diagrams that include forks, joins, and concurrent composite states. We describe the algorithm in detail, and elaborate on the design decisions made while developing the algorithm. We have implemented BVUML, a tool that assists in automating the validation process. Boris Litvak, Shmuel S. Tyszberowicz, Amiram Yehudai |
SEFM | 3 |
| 1997 | Precise Specification and Automatic Application of Design PatternsabstractDespite vast interest in design patterns, the specification and application of patterns is generally assumed to rely on manual implementation. We describe a precise method of specifying how a design pattern is applied: by phrasing it as an algorithm in a meta-programming language. We present a prototype of a tool that supports the specification of design patterns and their realization in a given program. Our prototype allows automatic application of design patterns without obstructing the source code test from the programmer, who may edit it at will. We demonstrate pattern specification in meta-programming techniques and a sample outcome of its application. Amnon H. Eden, Amiram Yehudai, Joseph Gil |
ASE | 2 |
| 1995 | On Tuning Recursive ProceduresabstractAbstract We propose a methodology of reducing the space requirements of recursive procedures without destroying their fundamental recursive structure. This technique is quite general, and seems to apply to most recursive procedures, particularly those dealing with recursive data structures. A recursive procedure is transformed into three procedures — a shell which is called from the outside, and has the same interface as the original, a recursive procedure with a minimum number of parameters, and no local variables, and a procedure that performs the operations but has no recursive calls. Our methodology was successfully employed in an implementation of a decision support system. The paper also includes results of experiments, in which space was reduced by a factor of up to seven, and run time was also improved. Amiram Yehudai, Fernando Libedinsky |
Softw. Pract. Exp. | 1 |
| 1993 | Using Transformations in Specification-Based PrototypingabstractThe authors explore the use of software transformations for software evolution. Meaning-preserving program transformations have been widely used for program development from a fixed initial specification. They consider a wider class of transformations to support development in which the specification evolves, rather than being fixed in advance. A new and general classification of transformations based on their effect on system interfaces, externally observable behavior, and abstraction level of a system description is presented. This classification is used to rearrange chronological derivation sequences containing meaning-changing transformations into lattices containing only meaning-preserving transformations. A process model for software evolution that utilizes prototyping techniques is described. Ways in which this class of transformations can be used to support such a process are considered. A set of examples are presented to illustrate the ideas. Software tool support and directions for future research are discussed.> Valdis Berzins, Luqi, Amiram Yehudai |
IEEE Trans. Software Eng. | 3 |
| 1992 | OBSERV - A Prototyping Language and EnvironmentabstractThe OBSERV methodology for software development is based on rapid construction of an executable specification, or prototype, of a systems, which may be examined and modified repeatedly to achieve the desired functionality. The objectives of OBSERV also include facilitating a smooth transition to a target system, and providing means for reusing specification, design, and code of systems and subsystems. We are particularly interested in handling embedded systems, which are likely to have concurrency and have some real-time requirements. The OBSERV prototyping language combines several paradigms to express the behavior of a system. The object-oriented approach provides the basic mechanism for building a system from a collection of objects, with well-defined interfaces between them. We use finite-state machines to model the behavior of individual objects. At a lower level, activities that occur within objects, either upon entry to a state or in transition between thus allowing a nonprocedural description. The environment provided to a prototype builder is as important as the language. We have made an attempt to provide flexible tools for executing or simulating the prototype being built, as well as for browsing and static checking. The first implementation of the tools was window based but not graphic. A graphic front end, name CRUISE, was developed afterwards. A simulation sequence focuses on a single object, which can be as complex as necessary, possibly the entire system, and expects all the interactions between it and the outside world to be achieved by communication between the simulator and the user. The simulator allows the user to easily switch back and forth from one object to another, simulating each object in isolation. To enable testing the behavior of a prototype in a realistic environment, it is possible to construct objects that imitate the environment objects. We also allow simulation of systems with missing pieces, by calling upon the user to simulate any such missing piece by himself. Shmuel S. Tyszberowicz, Amiram Yehudai |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1991 | Specification of user-interfaces using CRUISE/OBSERVabstractA system for user-interface specification is presented. The authors use OBSERV, an innovative methodology for prototyping reactive systems which combines three paradigms: the object-oriented approach, state transition diagrams, and logic programming. This combination is very useful for specifying user interfaces, which can be viewed as reactive systems. The usability of OBSERV is enhanced by a user-interface, CRUISE, that provides graphic editing capabilities.> Aviv Cohen, Shmuel S. Tyszberowicz, Amiram Yehudai |
COMPSAC | 3 |
| 1991 | Experience with a Portable Parallelizing Pascal Compiler
Eran Gabber, Amir Averbuch, Amiram Yehudai |
ICPP (2) | 3 |
| 1986 | Balance of Many-Valued Transductions and Equivalence Problems
Yael Maon, Amiram Yehudai |
Theor. Comput. Sci. | 2 |
| 1984 | An Intermediate Machine Technique for Deciding Equivalence between a DPDA and a Linear DPDA
Yair Itzhaik, Amiram Yehudai |
Inf. Control. | 2 |
| 1984 | New Families of Non Real Time DPDA's and their Decidability Results
Yair Itzhaik, Amiram Yehudai |
Theor. Comput. Sci. | 2 |
| 1984 | On Test Sets for Checking Morphism Equivalence on Languages with Fair Distribution of Letters
Yael Maon, Amiram Yehudai |
Theor. Comput. Sci. | 2 |
| 1983 | On Containment Problems for Finite-Turn Languages (Extended Abstract)
Yair Itzhaik, Amiram Yehudai |
FCT | 2 |
| 1983 | An Iteration Theorem for Simple Precedence LanguagesabstractAn iteration theorem for simple precedence languages ts presented.The theorem is then used to prove very easily that certain languages are not simple precedence.In addttion, a strong characterizauon of simple precedence languages is established.This is obtained by analyzing a nontrivlal famdy of languages that includes typical languages which are not stmple precedence languages and some similar languages which are m fact simple precedence.The iterauon theorem is then generahzed to deal with certain families of extended precedence languages Using this theorem, a rs shown that none of the languages proved to be nonstmple precedence is umquely invertible (1, k) precedence for any k _> 1. Yael Krevner, Amiram Yehudai |
J. ACM | 2 |
| 1983 | Constructing a Realtime Deterministic Pushdown Automaton from a Grammar
Jan Pittl, Amiram Yehudai |
Theor. Comput. Sci. | 2 |
| 1982 | An Iteration Theorem for Simple Precedence Languages (Extended Abstract)
Yael Krevner, Amiram Yehudai |
ICALP | 2 |
| 1982 | A Hierarchy of Real-Time Deterministic Languages and Their Equivalence
Amiram Yehudai |
J. Comput. Syst. Sci. | 1 |
| 1981 | A Decision Procedure for the Equivalence of Two DPDAs, One of Which is Linear (Extended Abstract)
Yair Itzhaik, Amiram Yehudai |
ICALP | 2 |
| 1981 | Eliminating Null Rules in Linear TimeabstractWe present a linear time algorithm for eliminating null rules in context free grammars. Until recently all algorithms given in the literature for this problem required exponential time. Michael A. Harrison, Amiram Yehudai |
Comput. J. | 2 |
| 1980 | The Decidability of Equivalence for a Family of Linear Grammars
Amiram Yehudai |
Inf. Control. | 1 |
| 1979 | A Note on the Pumping Lemma for Regular Languages
Amiram Yehudai |
Inf. Process. Lett. | 1 |
| 1979 | A Hierarchy of Deterministic Languages
Michael A. Harrison, Amiram Yehudai |
J. Comput. Syst. Sci. | 2 |
| 1979 | On Equivalence of Grammars Through Transformation Trees
Michael A. Harrison, Ivan M. Havel, Amiram Yehudai |
Theor. Comput. Sci. | 3 |