@article{wang_brown_jennings_stolee_2022, title={Demystifying regular expression bugs A comprehensive study on regular expression bug causes, fixes, and testing}, volume={27}, ISSN={["1573-7616"]}, DOI={10.1007/s10664-021-10033-1}, abstractNote={Regular expressions cause string-related bugs and open security vulnerabilities for DOS attacks. However, beyond ReDoS (Regular expression Denial of Service), little is known about the extent to which regular expression issues affect software development and how these issues are addressed in practice. We conduct an empirical study of 356 regex-related bugs from merged pull requests in Apache, Mozilla, Facebook, and Google GitHub repositories. We identify and classify the nature of the regular expression problems, the fixes, and the related changes in the test code. The most important findings in this paper are as follows: 1) incorrect regular expression semantics is the dominant root cause of regular expression bugs (165/356, 46.3%). The remaining root causes are incorrect API usage (9.3%) and other code issues that require regular expression changes in the fix (29.5%), 2) fixing regular expression bugs is nontrivial as it takes more time and more lines of code to fix them compared to the general pull requests, 3) most (51%) of the regex-related pull requests do not contain test code changes. Certain regex bug types (e.g., compile error, performance issues, regex representation) are less likely to include test code changes than others, and 4) the dominant type of test code changes in regex-related pull requests is test case addition (75%). The results of this study contribute to a broader understanding of the practical problems faced by developers when using, fixing, and testing regular expressions.}, number={1}, journal={EMPIRICAL SOFTWARE ENGINEERING}, author={Wang, Peipei and Brown, Chris and Jennings, Jamie A. and Stolee, Kathryn T.}, year={2022}, month={Jan} } @article{uzsoy_zareiesfandabadi_jennings_kemper_elting_2021, title={Automated tracking of S. pombe spindle elongation dynamics}, volume={6}, ISSN={["1365-2818"]}, url={https://doi.org/10.1111/jmi.13044}, DOI={10.1111/jmi.13044}, abstractNote={The mitotic spindle is a microtubule-based machine that pulls the two identical sets of chromosomes to opposite ends of the cell during cell division. The fission yeast Schizosaccharomyces pombe is an important model organism for studying mitosis due to its simple, stereotyped spindle structure and well-established genetic toolset. S. pombe spindle length is a useful metric for mitotic progression, but manually tracking spindle ends in each frame to measure spindle length over time is laborious and can limit experimental throughput. We have developed an ImageJ plugin that can automatically track S. pombe spindle length over time and replace manual or semi-automated tracking of spindle elongation dynamics. Using an algorithm that detects the principal axis of the spindle and then finds its ends, we reliably track the length of the spindle as the cell divides. The plugin integrates with existing ImageJ features, exports its data for further analysis outside of ImageJ and does not require any programming by the user. Thus, the plugin provides an accessible tool for quantification of S. pombe spindle length that will allow automatic analysis of large microscopy data sets and facilitate screening for effects of cell biological perturbations on mitotic progression.}, journal={JOURNAL OF MICROSCOPY}, publisher={Wiley}, author={Uzsoy, Ana Sofia M. and Zareiesfandabadi, Parsa and Jennings, Jamie and Kemper, Alexander F. and Elting, Mary Williard}, year={2021}, month={Jul} } @misc{wang_brown_jennings_stolee_2020, title={An Empirical Study on Regular Expression Bugs}, url={http://dx.doi.org/10.1145/3379597.3387464}, DOI={10.1145/3379597.3387464}, abstractNote={Understanding the nature of regular expression (regex) issues is important to tackle practical issues developers face in regular expression usage. Knowledge about the nature and frequency of various types of regular expression issues, such as those related to performance, API misuse, and code smells, can guide testing, inform documentation writers, and motivate refactoring efforts. However, beyond ReDoS (Regular expression Denial of Service), little is known about to what extent regular expression issues affect software development and how these issues are addressed in practice.}, journal={Proceedings of the 17th International Conference on Mining Software Repositories}, publisher={ACM}, author={Wang, Peipei and Brown, Chris and Jennings, Jamie A. and Stolee, Kathryn T.}, year={2020}, month={Jun} } @misc{jennings_beuscher_1999, title={Verischemelog}, url={http://dx.doi.org/10.1145/331960.331978}, DOI={10.1145/331960.331978}, abstractNote={Verischemelog (pronounced with 5 syllables, veruh-scheme-uh-log) is a language and programming environment embedded in Scheme for designing digital electronic hardware systems and for controlling the simulation of these circuits. Simulation is performed by a separate program, often a commercial product. Verischemelog compiles to Verilog, an industry standard language accepted by several commercial and public domain simulators.}, journal={Proceedings of the 2nd conference on Domain-specific languages}, publisher={ACM}, author={Jennings, James and Beuscher, Eric}, year={1999}, month={Dec}, pages={123–134} } @misc{jennings_kirkwood-watts_1998, title={Distributed Mobile Robotics by the Method of Dynamic Teams}, ISBN={9783642722004 9783642721984}, url={http://dx.doi.org/10.1007/978-3-642-72198-4_5}, DOI={10.1007/978-3-642-72198-4_5}, abstractNote={Distributed teams of agents (robots and workstations) hold great promise for solving complex tasks efficiently, reliably, and automatically. But automatic coordination of the actions of the autonomous agents within a team remains a difficult problem. We suggest that, in order to engender cooperation and to avoid interference among the agents in a team, the general organization of the team reflect the structure of the task. Moreover, the team itself may be a dynamic, fluid entity whose logical structure is maintained by a run-time system, even in the face of attrition, substitution of team members, and explicit recruitment of new members. The Method of Dynamic Teams is based 011 this principle of fluidity.}, journal={Distributed Autonomous Robotic Systems 3}, publisher={Springer Berlin Heidelberg}, author={Jennings, James and Kirkwood-Watts, Chris}, year={1998}, pages={47–56} } @inproceedings{jennings_kirkwood-watts_tanis_1998, title={Distributed map-making and navigation in dynamic environments}, volume={3}, url={http://dx.doi.org/10.1109/iros.1998.724842}, DOI={10.1109/iros.1998.724842}, abstractNote={We present an implemented distributed map-making algorithm based on an online generation of an approximation to the generalized Voronoi graph of the robots' environment. Using sonar sensors, a team of mobile robots constructs maps which are topological and relatively sparse, and hence are well suited to basic path-planning approaches. The maps also contain metric data which could be used to detect changes in a dynamic environment automatically. The implementation addresses robot interactions that occur during mapping; the map merge algorithm is simple and uses a robust metric to produce reliable combined maps. A corresponding navigation algorithm which uses these maps has proven reliable in dynamic environments, i.e. when the world has changed since the map was made.}, booktitle={Proceedings. 1998 IEEE/RSJ International Conference on Intelligent Robots and Systems. Innovations in Theory, Practice and Applications (Cat. No.98CH36190)}, publisher={IEEE}, author={Jennings, J. and Kirkwood-Watts, C. and Tanis, C.}, year={1998}, pages={1695–1701} } @inproceedings{jennings_whelan_evans_1997, title={Cooperative search and rescue with a team of mobile robots}, url={http://dx.doi.org/10.1109/icar.1997.620182}, DOI={10.1109/icar.1997.620182}, abstractNote={We present an implemented algorithm for a distributed team of autonomous mobile robots to search for an object. When one robot finds it, they all gather around it, and then manipulate ("rescue") it. The algorithm exploits parallelism, with all robots searching concurrently, and also teamwork, because the manipulation is performed cooperatively. Our algorithm is fully distributed; the robots communicate with each other, and there is no central server or supervisor. Applications include hazardous waste cleanup, bomb detection and removal, materials delivery, and eventually the rescue of survivors of accidents or disasters. The search and rescue program was written using MOVER, a programming system for distributed tasks. The system provides high-level programming constructs for task distribution across robots. Finally, MOVER encourages code re-use because the task distribution mechanism can synchronize any set of procedures (without rewriting), allowing the programmer of a distributed task to access libraries of robot software written for single-robot tasks.}, booktitle={1997 8th International Conference on Advanced Robotics. Proceedings. ICAR'97}, publisher={IEEE}, author={Jennings, J.S. and Whelan, G. and Evans, W.F.}, year={1997} } @inbook{böhringer_brown_donald_jennings_rus_1997, series={Lecture Notes in Control and Information Sciences}, title={Distributed robotic manipulation: Experiments in minimalism}, ISBN={3540761330}, url={http://dx.doi.org/10.1007/bfb0035193}, DOI={10.1007/bfb0035193}, booktitle={Experimental Robotics IV: The 4th International Symposium, Stanford, California, June 30 – July 2, 1995}, publisher={Springer-Verlag}, author={Böhringer, Karl and Brown, Russell and Donald, Bruce and Jennings, Jim and Rus, Daniela}, year={1997}, month={Dec}, pages={11–25}, collection={Lecture Notes in Control and Information Sciences} } @article{donald_jennings_rus_1997, title={Information Invariants for Distributed Manipulation}, volume={16}, ISSN={0278-3649 1741-3176}, url={http://dx.doi.org/10.1177/027836499701600506}, DOI={10.1177/027836499701600506}, abstractNote={In Donald (1995), we described a manipulation task for coop erating mobile robots that can push large, heavy objects. There, we asked whether explicit local and global communication between the agents can be removed from a family of pushing protocols. In this article, we answer in the affirmative. We do so by using the general methods of Donald (1995), analyzing information invariants. We discuss several measures for the information complexity of the task: (1) How much internal state should the robot retain? (2) How many cooperating agents are required, and how much communication between them is necessary? (3) How can the robot change (side effect) the environment to record state or sensory information for performing a task? (4) How much information is provided by sensors? and (5) How much computation is required by the robot? To answer these questions, we develop a notion of information invariants. We develop a technique whereby one sensor can be constructed from others by adding, deleting, and reallocating 1) through 5), among collaborating autonomous agents. We add a resource to measures 1) through 5) and ask: 6) How much information is provided by the task mechanics? By answering this question, we hope to develop information invariants that explicitly trade- off resource 6) with resources 1) through 5). The protocols we describe here have been implemented in several different forms, and we report on experiments to measure and analyze information invariants using a pair of cooperating mobile robots for manipulation experiments in our laboratory.}, number={5}, journal={The International Journal of Robotics Research}, publisher={SAGE Publications}, author={Donald, Bruce Randall and Jennings, James and Rus, Daniela}, year={1997}, month={Oct}, pages={673–702} } @article{donald_jennings_rus_1997, title={Minimalism Distribution Supermodularity}, volume={9}, ISSN={0952-813X 1362-3079}, url={http://dx.doi.org/10.1080/095281397147130}, DOI={10.1080/095281397147130}, abstractNote={We have designed and implemented multi-agent strategies for manipulation tasks by distributing mechanically-based sequential algorithms across several autonomous spatially-separated agents, such as mobile robots. Our experience using mobile robots for the manipulation of large objects (couches, boxes, file cabinets, etc.) leads us to recommend a minimalist architecture for multi-agent programming. In particular, our methodology has led us to derive asynchronous distributed strategies that require no direct communication between agents, and very sparse geometric and dynamic models of the objects our robots manipulate. We argue for a design principle called supermodularity, which is orthogonal both to the notion of modularity in cognitive AI and also to horizontal decomposition (the non-modularity advocated in the subsumption/connectionist literature.) Finally, we discuss a simple mobotscheme infrastructure to implement supermodular architectures. In the past few years we have programmed many supermodular manipulation protocols and tested them extensively on our team of mobile robots. We describe why we think the supermodular infrastructure results in robust, simple, readable, manipulation strategies that can be recycled and reused.}, number={2-3}, journal={Journal of Experimental & Theoretical Artificial Intelligence}, publisher={Informa UK Limited}, author={Donald, Bruce and Jennings, Jim and Rus, Daniela}, year={1997}, month={Apr}, pages={293–321} } @article{jennings_harpp_hogan_1996, title={Crime in the Classroom: Part II. An Update}, volume={73}, ISSN={0021-9584 1938-1328}, url={http://dx.doi.org/10.1021/ed073p349}, DOI={10.1021/ed073p349}, abstractNote={ADVERTISEMENT RETURN TO ISSUEPREVArticleNEXTCrime in the Classroom: Part II. An UpdateJames S. Jennings , David N. Harpp , and James J. Hogan View Author Information Department of Computer Science, Tulane University, New Orleans, LA 70118 Department of Chemistry, 801 Sherbrooke St. W. McGill University, Montreal, Quebec H3A 2K6 CanadaCite this: J. Chem. Educ. 1996, 73, 4, 349Publication Date (Web):April 1, 1996Publication History Received3 August 2009Published online1 April 1996Published inissue 1 April 1996https://pubs.acs.org/doi/10.1021/ed073p349https://doi.org/10.1021/ed073p349research-articleACS PublicationsRequest reuse permissionsArticle Views176Altmetric-Citations15LEARN ABOUT THESE METRICSArticle Views are the COUNTER-compliant sum of full text article downloads since November 2008 (both PDF and HTML) across all institutions and individuals. These metrics are regularly updated to reflect usage leading up to the last few days.Citations are the number of other articles citing this article, calculated by Crossref and updated daily. Find more information about Crossref citation counts.The Altmetric Attention Score is a quantitative measure of the attention that a research article has received online. Clicking on the donut icon will load a page at altmetric.com with additional details about the score and the social media presence for the given article. Find more information on the Altmetric Attention Score and how the score is calculated. Share Add toView InAdd Full Text with ReferenceAdd Description ExportRISCitationCitation and abstractCitation and referencesMore Options Share onFacebookTwitterWechatLinked InRedditEmail Other access optionsGet e-Alertsclose SUBJECTS:Addition reactions,Students Get e-Alerts}, number={4}, journal={Journal of Chemical Education}, publisher={American Chemical Society (ACS)}, author={Jennings, James S. and Harpp, David N. and Hogan, James J.}, year={1996}, month={Apr}, pages={349} } @inproceedings{brown_jennings_1995, title={A pusher/steerer model for strongly cooperative mobile robot manipulation}, volume={3}, url={http://dx.doi.org/10.1109/iros.1995.525941}, DOI={10.1109/iros.1995.525941}, abstractNote={Presents an empirical example of a strongly cooperative manipulation system (the pusher/steerer system), whose capabilities derive from the redistribution of resources typically used in a single robot system. The authors define strongly cooperative strategies to be, intuitively, those which are not trivially serializable. In the authors' system, one robot steers, and the other pushes; the object lies between them. The steerer is the only agent that has information about the path, while the pusher exerts the necessary motive force, and rotates to follow changes in the object's orientation. The system is asynchronous, with no explicit communication between the robots. The authors are interested in studying manipulation systems of this type, because they are strongly cooperative; that is, the two robots must act in concert to achieve the goal. The authors have performed over one hundred pusher/steerer manipulation experiments with two of their mobile robots, TOMMY and LILY. As the authors' analysis predicts, they have found that their system allows a wide variety of paths and manipulable objects for these robots.}, booktitle={Proceedings 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. Human Robot Interaction and Cooperative Robots}, publisher={IEEE Comput. Soc. Press}, author={Brown, R.G. and Jennings, J.S.}, year={1995}, pages={562–568} } @inproceedings{rus_donald_jennings_1995, title={Moving furniture with teams of autonomous robots}, volume={1}, url={http://dx.doi.org/10.1109/iros.1995.525802}, DOI={10.1109/iros.1995.525802}, abstractNote={The authors wish to organize furniture in a room with a team of robots that can push objects. The authors show how coordinated pushing by robots can change the pose (position and orientation) of objects and then they ask whether planning, global control, and explicit communication are necessary for cooperatively changing the pose of objects. The authors answer in the negative and present, as witnesses, four cooperative manipulation protocols that use different amounts of state, sensing, and communication. The authors analyze these protocols in the information invariant framework. The authors formalize the notion of resource tradeoffs for robot protocols and give the tradeoffs for the specific protocols discussed here.}, booktitle={Proceedings 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. Human Robot Interaction and Cooperative Robots}, publisher={IEEE Comput. Soc. Press}, author={Rus, D. and Donald, B. and Jennings, J.}, year={1995}, pages={235–242} } @inproceedings{donald_jennings_rus_1994, title={Analyzing teams of cooperating mobile robots}, url={http://dx.doi.org/10.1109/robot.1994.351185}, DOI={10.1109/robot.1994.351185}, abstractNote={Donald (1993) described a manipulation task for cooperating mobile robots that can push large, heavy objects. There, the author asked whether explicit local and global communication between the agents can be removed from a family of pushing protocols. In this paper, the authors answer in the affirmative. They do so by using the general methods of Donald for analyzing information invariants. The authors discuss several measures for the information complexity of the task of pushing with cooperating mobile robots, and they present a methodology for creating new manipulation strategies out of existing ones. The authors develop and analyze synchronous and asynchronous manipulation protocols for a small team of cooperating mobile robots than can push large boxes. The protocols described have been implemented in several forms on the Cornell mobile robots in the authors' laboratory.< >}, booktitle={Proceedings of the 1994 IEEE International Conference on Robotics and Automation}, publisher={IEEE Comput. Soc. Press}, author={Donald, B.R. and Jennings, J. and Rus, D.}, year={1994}, pages={1896–1903} } @article{donald_jennings_brown_1992, title={Constructive recognizability for task-directed robot programming}, volume={9}, ISSN={0921-8890}, url={http://dx.doi.org/10.1016/0921-8890(92)90032-t}, DOI={10.1016/0921-8890(92)90032-t}, number={1-2}, journal={Robotics and Autonomous Systems}, publisher={Elsevier BV}, author={Donald, Bruce Randall and Jennings, James and Brown, Russell}, year={1992}, month={Jan}, pages={41–74} } @inproceedings{donald_jennings_1992, title={Constructive recognizability for task-directed robot programming}, url={http://dx.doi.org/10.1109/robot.1992.220098}, DOI={10.1109/robot.1992.220098}, abstractNote={A principled theory of sensing and action is crucial in developing task-level programming for autonomous mobile robots. A framework for such a theory is proposed, providing both a precise vocabulary and also appropriate computational machinery for working with issues of information flow in and through a robot system equipped with various types of sensors and operating in a dynamic unstructured environment. The authors focus on the problem of constructing virtual sensors out of concrete sensors. Virtual sensors may be defined in terms of existing concrete sensors. A method of task-directed construction of such virtual sensors is described. Virtual sensors are queried in robot programs much as their concrete counterparts are. In allowing the task to direct the composition of virtual sensors, robot programs which are organized in such a way as to guide the robot toward acquiring the information it needs to accomplish the task can be derived. Many information-acquisition and representational issues are made explicit.< >}, booktitle={Proceedings 1992 IEEE International Conference on Robotics and Automation}, publisher={IEEE Comput. Soc. Press}, author={Donald, B. and Jennings, J.}, year={1992}, pages={2446–2452} } @inproceedings{donald_jennings_1991, title={Perceptual limits, perceptual equivalence classes, and a robot's sensori-computational capabilities (extended abstract)}, url={http://dx.doi.org/10.1109/iros.1991.174703}, DOI={10.1109/iros.1991.174703}, abstractNote={Considers a theory of planning, sensing and action in which the fundamental building blocks are, in effect, the 'recognizable sets'-that is, the places in the world that the robot can recognize and distinguish between. To this end the authors observe that viewing the world through sensors, partitions the world into 'perceptual equivalence classes.' The more information the sensors provide, the 'finer' this partition is. Various possible partitions of the world fit into a lattice structure. This lattice structure captures the information or knowledge state about the world. Using this theory the authors develop notions of task-directed planning and show how history can be used to direct actions and gain information. The authors investigate the structure of the recognizability lattice and its relationship to the world. The authors consider how to compute perceptual equivalence classes both from a model, and incrementally, from the world. Finally, the authors investigate mathematical properties that can help the robot generate disambiguating strategies to gain information about the world to accomplish a task.< >}, booktitle={Proceedings IROS '91:IEEE/RSJ International Workshop on Intelligent Robots and Systems '91}, publisher={IEEE}, author={Donald, B. and Jennings, J.}, year={1991}, pages={1397–1405} } @inproceedings{donald_jennings_1991, title={Sensor interpretation and task-directed planning using perceptual equivalence classes}, url={http://dx.doi.org/10.1109/robot.1991.131977}, DOI={10.1109/robot.1991.131977}, abstractNote={Consideration is given to how a robot may interpret its sensors and direct its actions so as to gain more information about the world, and to accomplish manipulation tasks. The focus is on general techniques for coping with uncertainty, specifically, to sense the state of the task, adapt to changes, and reason to select actions to gain information and achieve the goal. When the environment is integrated through sensors, one in effect views a projection of the world onto the space of possible sensor values. The structure of this sensor space and its relationship to the world is investigated. It is observed that sensors partition the world into perceptual equivalence classes that can serve as natural landmarks. By analyzing the properties of these equivalence classes a lattice and a bundle structure for the information available to the robot through sensing and action are developed. This yields a framework in which algorithms for sensor-based planning and reasoning are developed and characterized.< >}, booktitle={Proceedings. 1991 IEEE International Conference on Robotics and Automation}, publisher={IEEE Comput. Soc. Press}, author={Donald, B. and Jennings, J.}, year={1991}, pages={190–197} } @inproceedings{jennings_donald_campbell_1989, title={Towards experimental verification of an automated compliant motion planner based on a geometric theory of error detection and recovery}, url={http://dx.doi.org/10.1109/robot.1989.100055}, DOI={10.1109/robot.1989.100055}, abstractNote={In earlier work, B.R. Donald (1988, 1989) implemented an automated compliant motion planner based on a geometric theory of error detection and recovery (EDR). In the present work, an attempt is made to validate the theory, in part, by executing the plans it has generated on a physical force-controlled robot. The planner, LIMITED, accepts as input geometric descriptions of the environment and bounds on sensing and control uncertainties, and synthesizes motion sequences that, when executed, recognizably achieve the goal when possible and signal failure otherwise. The motions are compliant; that is, surfaces can be used to guide motions toward a goal. Experimental results attained in executing two plans earlier generated by LIMITED are presented. The first plan is for the task of inserting a planar peg into a planar hole, with geometric model uncertainty. This plan was found to be quite robust. The second plan meshes two gears in the plane. This plan proved less robust than the peg insertion plan, and the authors examine why this is so.< >}, booktitle={Proceedings, 1989 International Conference on Robotics and Automation}, publisher={IEEE Comput. Soc. Press}, author={Jennings, J. and Donald, B. and Campbell, D.}, year={1989}, pages={632–637} }