Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Allen S. Parrish

dblp:p/ASParrish · also Allen Parrish · DBLP profile ↗
← Back
39ranked-venue papers
19as first author
0since 2021 · last 2019
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 19 · 10 first-authorSoftware engineering, systems software and programming languages · 11 · 8 first-authorArtificial intelligence and machine learning · 3 · 1 first-authorSecurity and privacy · 3Databases, data management, data science and information retrieval · 2Applied, interdisciplinary, general and emerging computing · 2 · 1 first-author

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
Software testing · 53% Empirical software engineering · 47%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
test adequacy
0.031995
On the Relationships Among the All-Uses, All-DU-Paths, and All-Edges Testing Criteria · IEEE Trans. Software Eng. 1995
Clarifying Some Fundamental Concepts in Software Testing · IEEE Trans. Software Eng. 1993
Analysis and Refinement of Software Test Data Adequacy Properties · IEEE Trans. Software Eng. 1991
Empirical software engineering
software effort estimation
0.012001
An Empirical Study Using Task Assignment Patterns to Improve the Accuracy of Software Effort Estimation · IEEE Trans. Software Eng. 2001
Software testing › test adequacy › test adequacy criteria
data flow testing criteria
0.011995
On the Relationships Among the All-Uses, All-DU-Paths, and All-Edges Testing Criteria · IEEE Trans. Software Eng. 1995
Empirical software engineering › software effort estimation
COCOMO
0.012001
An Empirical Study Using Task Assignment Patterns to Improve the Accuracy of Software Effort Estimation · IEEE Trans. Software Eng. 2001

Methods — techniques the papers use, named apart from their topics

regression analysis · 0.0function point analysis · 0.0formal comparison metrics · 0.0formal definition analysis · 0.0property analysis · 0.0formal analysis · 0.0
YearPublicationVenuePosition
2019 Data Science Education: Global Perspectives and Convergence
abstract
Over the past two decades, data science or data analytics degree programs have begun to emerge, reflecting the world's demand for data specialists to make sense of the vast amounts of collected data in the sciences, engineering, business, and other domains. As degree creation has occurred mainly due to demand, ACM and other professional bodies have recently stepped in to provide curricular guidance. However, no \em shared global framework for data science as an academic discipline exists, making growth unfocused and driven by employer demands. More recently, the growth of artificial intelligence has also impacted data science programs. This working group builds on prior efforts and participant experiences to develop a global taxonomy of approaches to data science education and expectations for graduates of data science programs to \em think like data scientists.
Rajendra K. Raj, Allen S. Parrish, John Impagliazzo, Carol J. Romanowski, Sherif G. Aly 0001, Casey C. Bennett, Karen C. Davis, Andrew D. McGettrick, Teresa Susana Mendes Pereira, Lovisa Sundin
ITiCSE2
2019 Computing Curricula 2020: Introduction and Community Engagement
abstract
This session presents an overview of the Computing Curricula 2020 (CC2020) project and provides a status report for the project. CC2020 seeks to generate a modern revision of the well-known CC2005 document by reflecting a more current view of computing, including the addition of new and emerging sub-disciplines like cybersecurity and data science. Further, CC2020 proposes a competency-based characterization of computing, as well as a bottom-up organization of computing into its sub-disciplines based on an analysis of competencies. This session imparts the results of the project to date and provides an opportunity for participants to infuse new ideas on the current computing disciplinary landscape, as well as input for the competency model it proposes.
Alison Clear, Allen S. Parrish, John Impagliazzo, Ming Zhang 0004
SIGCSE2
2019 Academic Cybersecurity Disciplinary Foundations and Accreditation
abstract
This session is designed to attract participants with an interest in post-secondary academic cybersecurity programs. Despite the extraordinary interest in cybersecurity due to the job market, relatively little consensus exists on how to design academic programs. Divergence on issues such as degree title, program objectives and outcomes, program scope, whether only one distinct discipline of cybersecurity exists or several, whether a separate academic unit is needed to offer such degrees, and what role other (non-computing) disciplines should play in cybersecurity programs. Prior efforts in defining cybersecurity at the collegiate level include the US Department of Homeland Security and the US National Security Agency's Centers for Academic Excellence (CAE) programs, NIST's National Initiative for Cybersecurity Education (NICE), the Cyber Education Project, the Joint Task Force's CSEC 2017 draft curricular guidelines, and ABET accreditation criteria for cybersecurity programs. The audience is expected to consist of college faculty and administrators who are either in the process of starting cybersecurity programs or are seeking guidance for developing security content for other computing programs that must now teach security. This session will allow participants to share ideas regarding how to develop and teach cybersecurity in four-year, post-secondary academic programs.
Allen S. Parrish, Rajendra K. Raj, Lawrence Jones
SIGCSE1
2018 Innovative Computing Curricula and the CC2020 Project
abstract
This summary is an extension of a paper presented at the IEEE EduNine 2018 conference [1]. That paper contains much more detail than the content presented here.
John Impagliazzo, Allen S. Parrish, Alison Clear
FIE2
2018 Global perspectives on cybersecurity education
abstract
Global cybersecurity crises have compelled universities to address the demand for educated cybersecurity professionals. As no shared framework for cybersecurity as an academic discipline exists, growthhas been unfocused and driven by training materials, which make it harder to create a common body of knowledge. An international perspective is still harder, as different nations use different criteria to define local needs. As a result, new programs entering this space are on their own to conceptualize, design, package and market their programs, as there is no globally accepted reference model for cybersecurity to allow employers or students to understand the extent of a given cybersecurity program.
Allen S. Parrish, John Impagliazzo, Rajendra K. Raj, Henrique M. Dinis Santos, Muhammad Rizwan Asghar, Audun Jøsang, Teresa Susana Mendes Pereira, Vítor J. Sá, Eliana Stavrou
ITiCSE1
2018 Special Session: Joint Task Force on Cybersecurity Education
abstract
In this special session, members of the Joint Task Force (JTF) on Cybersecurity Education will provide an overview of the CSEC2017 curricular guidelines (finalized in December 2017) and engage session participants in a discussion of the curricular framework and body of knowledge. The session will conclude with an interactive panel discussion on implementing the curricular guidance.
Diana L. Burley, Matt Bishop, Siddharth Kaza, David S. Gibson, Scott Buck, Allen S. Parrish, Herbert J. Mattord
SIGCSE6
2018 Understanding the New ABET Computer Science Criteria
abstract
The Computing Accreditation Commission of ABET accredits over 300 Computer Science programs worldwide under the Computer Science program criteria. In the past few years, the Commission has engaged the computing community to modify and update these criteria, and has now signed off on an updated set of program criteria that take into account factors such as the CS2013 curricular guidelines, impact on currently accredited programs, structural changes to clarify the criteria, and the reduction of the assessment burden. These recent changes to the Computer Science program criteria primarily impact student outcomes (what program graduates are expected to know and be able to do by graduation) and curriculum. Those changes will impact computer science programs in a variety of ways and degrees---some programs will be impacted significantly while others will be affected in a relatively minor way. This paper examines the changes that will take effect starting in the 2019-20 accreditation cycle, covering the rationale for those changes and exploring the likely impact on computer science programs that are currently accredited or seeking accreditation in the near future.
Michael J. Oudshoorn, Stan Thomas, Rajendra K. Raj, Allen S. Parrish
SIGCSE4
2018 Bringing Up Cybersecurity Degree Programs: (Abstract Only)
abstract
Due to the ongoing demand for cybersecurity professionals, universities have begun to step up to the challenge of providing degrees in cybersecurity or related disciplines. However, growth in academic programs has been unfocused, in part because there is no standard definition of what a cybersecurity undergraduate program should contain and no cohesive community of practice with which those programs are aligned. This session is intended to establish dialog intended to lead to a community of practice for undergraduate cybersecurity education. The presenters will briefly review prior efforts in defining cybersecurity at the collegiate level, including the Centers for Academic Excellence (CAE), National Initiative for Cybersecurity Education (NICE), Cyber Education Project, CSEC2017 curricular guidelines and ABET cybersecurity accreditation. Session participants will examine current efforts, explore the development of a cybersecurity community of practice, and get clarity about where their own efforts fit into overall computing education.
Rajendra K. Raj, Allen S. Parrish
SIGCSE2
2017 Perspectives on the future of cybersecurity education
abstract
As the worldwide demand for cybersecurity-trained professionals continues to grow, the need to understand and define what cybersecurity education really means at the college or university level. Given the relative infancy of these efforts to define undergraduate cybersecurity programs, the panelists will present different perspectives on how such programs can be structured. They will then engage with the audience to explore additional viewpoints on cybersecurity, and work toward a shared understanding of undergraduate cybersecurity programs.
Rajendra K. Raj, Joseph J. Ekstrom, John Impagliazzo, Steven Lingafelt, Allen S. Parrish, Harry Reif, Edward Sobiesk
FIE5
2017 CC2020: A Vision on Computing Curricula
abstract
This panel discusses the development of a global, futuristic computing overview curricular report called Computing Curricular 2020, also known as CC2020. This new document, which is an initiative of the ACM Education Council, published by ACM, will be a revision of one of the most cited curricula documents called Computing Curricula 2005, also known as CC2005 [1]. CC2020 will build on the attributes of the existing predecessor. It will encompass broad global inclusion by welcoming active participation from computing societies around the world such as the Information Processing Society of Japan (IPSJ). CC2020 will also be futuristic in its development. While the new document will include an update to reflect existing curricula reports for computer engineering, computer science, information systems, information technology, and software engineering, it will also describe ways in which new and emerging curricular areas would be included within the framework of the report. The working group of CC2020 will include approximately two dozen professionals from academia and industry who will engage in crafting the new document. Additionally, a subset of about ten people of the working group forms the executive or core operational unit of the CC2020 project. The panelists for this representation are members of this executive group. Their global origins and affiliations represent the diversity of interaction that is one of the hallmarks of this undertaking. The panelists will present their views on the future aspects of the CC2020 report from the perspective of their experiences and affiliations, as well as their countries. The panelists will also provide contrasting points of view on topics relevant to the project. Audience interaction and participation will consume approximately fifty percent of the time allocated to the presentation.
Alison Clear, Allen S. Parrish, Ming Zhang 0004, Gerrit C. van der Veer
SIGCSE2
2016 Developing ABET criteria for undergraduate cybersecurity programs
abstract
This special session will introduce current work on program criteria currently being developed for use by ABET in accrediting undergraduate cybersecurity programs. It will provide a status report on current efforts in this area, along with expectations for future development and deployment of these criteria.
Allen S. Parrish, Edward Sobiesk
FIE1
2016 Updates to the ABET Computing Accreditation Criteria (Abstract Only)
abstract
The ABET Computing Accreditation Commission (CAC) has been involved in a multi-year process to update the accredAitation criteria to incorporate a new framework for outcomes assessment, as well as to update the specific program criteria in computer science, information systems and information technology. Of the program criteria revisions, the computer science criteria are the most heavily revised, with the goal of achieving some degree of consistence with the CS2013 Report. This Birds of a Feather session is designed to discuss the philosophy behind the criteria changes, and present a draft of the revised criteria for review and comment. The session will promote attendee participation via small group discussions, thereby providing the opportunity for participants to provide input on the revised criteria. The session will also solicit feedback to ABET on computing accreditation in general, and on the overall accreditation process.
Allen S. Parrish, Stan Thomas
SIGCSE1
2013 The future of the ABET computer science program criteria (abstract only)
abstract
The ABET Computing Accreditation Commission and CSAB (made up of representatives from ACM and IEEE-CS) are currently considering the next generation of changes to the computing accreditation criteria, with emphasis on the program criteria for the various disciplinary areas, including computer science. This Birds-of-A-Feather session will provide a platform for discussion of the types of changes that are currently under consideration, with a view toward obtaining feedback on those changes, as well as obtaining new ideas for revisions from the audience.The ABET Computing Accreditation Commission and CSAB (made up of representatives from ACM and IEEE-CS) are currently considering the next generation of changes to the computing accreditation criteria, with emphasis on the program criteria for the various disciplinary areas, including computer science. This Birds-of-A-Feather session will provide a platform for discussion of the types of changes that are currently under consideration, with a view toward obtaining feedback on those changes, as well as obtaining new ideas for revisions from the audience.
Allen S. Parrish, Cary Laxer
SIGCSE1
2011 Access control for a federated police information system
abstract
In this paper, we present the elements of a system for demonstration that supports a federated infrastructure for a collection of police agencies.
Matthew Hudnall, Maury Mitchell, Allen S. Parrish
SACMAT3
2011 A relation context oriented approach to identify strong ties in social networks
Dana Steil, Brandon Dixon, Allen S. Parrish, David Brown 0005
Knowl. Based Syst.4
2011 Patrol Routing Expression, Execution, Evaluation, and Engagement
abstract
Recommended patrol routes can be used by organizations such as police agencies, emergency medical responders, and taxi services whose agents patrol roadway segments at proper times to assist or deter their target events. The creation of optimal complementary patrol routes for multiple agents targeting temporal event hotspots and minimizing travel distance is an NP-hard combinatorial problem that belongs to a class of problems known as the vehicle routing problem with time windows (VRPTW). Traffic safety patrol routing problems share many characteristics of VRPTW problems but differ in ways that prevent the application of existing solutions. In our approach, nondeterministic patrol routing algorithms are used to specify the movements of simulated mobile agents on a roadway system. Nondeterminism is critical in the traffic safety patrol routing domain, as rigidity and predictability can negatively impact the effectiveness of law enforcement agents' efforts.This paper addresses the problem of expressing, executing, evaluating, and engaging patrol routing algorithms that target event hotspots on roadways. The patrol algorithms are first expressed using Turn, which is our extensible domain-specific language (DSL) created for this purpose. Algorithms specified using Turn syntax are then executed in a custom simulation environment. Utilizing predefined metrics, users evaluate the resulting patrol routes to ensure that the criteria of interest in a given patrol context are met. Acceptable patrol routes are then engaged by end users via a web-based geographic information system (GIS) portal. To demonstrate the applicability and efficacy of our approach, we present two illustrative case studies.
Dana Steil, Jeremy R. Pate, Nicholas A. Kraft, Randy K. Smith, Brandon Dixon, Allen S. Parrish
IEEE Trans. Intell. Transp. Syst.7
2009 PerpSearch: An integrated crime detection system
abstract
Information technologies such as data mining and social network analysis have been widely used in law enforcement to solve crimes. Recent research indicates that geographic profiling also plays an important role in facilitating the investigation of crimes. However, lack of integration makes those systems less helpful in practice. In this paper, we propose an integrated system called PerpSearch that will take a given description of a crime, including its location, type, and the physical description of suspects (personal characteristics or vehicles) as input. To detect suspects, the system will process these inputs through four integrated components: geographic profiling, social network analysis, crime patterns, and physical matching. Essentially, geographic profiling determines ldquowhererdquo the suspects are, while other components determine ldquowhordquo the suspects are. We then process the results using a score engine to give investigators a ranked list of individuals. To date, we have implemented a prototype of the system based on current Alabama law enforcement data.
Dana Steil, Matthew Hudnall, Brandon Dixon, Randy K. Smith, David Brown 0005, Allen S. Parrish
ISI7
2007 A Host Architecture for Automobile License Plate Recognition
abstract
Automobile license plate recognition (ALPR) is becoming increasingly important to homeland security and law enforcement. There are a number of commercial vendors with tag recognition hardware and software in the ALPR market. Many of these vendors have developed open tag recognition solutions that run on laptop PCs with commodity video-capture devices as peripherals. Such PC-based solutions are quite conducive to an open architecture for data transmission and sharing between applications. In this paper, we present an architecture that supports such a commodity tag recognition solution as its centerpiece. We then discuss a recent pilot project where this architecture was implemented and tested.
Maury Mitchell, Matthew Hudnall, David Brown 0005, David Cordes, Randy K. Smith, Allen S. Parrish
ISI6
2005 Optimizing disk storage to support statistical analysis operations
Allen S. Parrish, Susan V. Vrbsky, Brandon Dixon, Weigang Ni
Decis. Support Syst.1
2005 Improved variable and value ranking techniques for mining categorical traffic accident data
Huanjing Wang, Allen S. Parrish, Randy K. Smith, Susan V. Vrbsky
Expert Syst. Appl.2
2005 Enhancing Database Access Control by Facilitating Non-Key Related Cover Stories
abstract
This paper presents an extension to a Multi-Level Secure (MLS) data model that requires the classification of data and users into multiple security levels. In MLS systems, cover stories allow information provided to users at lower security levels to differ from information provided to users at higher security levels. Previous versions of the MLS model did not permit cover stories for key attributes, because the key is used to relate the various cover stories for a particular entity. We have extended the MLS model to include non-key related cover stories so that key attributes can also have different values at different security levels. In this paper we describe the necessary model changes and modifications to the relational algebra, which are required to implement non-key related cover stories. We demonstrate the improvements made by these changes and discuss the implementation and performance of a system based on the described concepts.
Nenad Jukic, Svetlozar Nestorov, Susan V. Vrbsky, Allen S. Parrish
J. Database Manag.4
2005 Utilizing commodity hardware and software to distribute a real-world application: maximizing reuse while improving performance
abstract
Commodity computing hardware continues to increase performance while decreasing price. This combination is driving a renewed interest in parallel and distributed computing. In this study, we examine the performance of an existing application in a ten-node computing cluster using commodity off-the-shelf components. The application is a statistical analysis software package that processes categorical data used by state public safety programs. The study examines various network topologies and focuses on minimizing the software modifications required to distribute the application. We conclude that parallel computing using commodity components is an effective mechanism to increase the performance of real-world applications especially when the underlying application architectures have the flexibility to support efficient reuse of the existing code. Copyright © 2005 John Wiley & Sons, Ltd.
Randy K. Smith, Brandon Dixon, Allen S. Parrish, David Cordes
Softw. Pract. Exp.4
2003 Certification for Software Professionals: The IEEE Computer Society?s CSDP Program
abstract
Panel Summary For more than twenty years, the IEEE Computer Society has played a leading role in improving the professionalism of software engineers. Its activities include development of a large collection of software engineering standards, publication of many seminal software engineering journals, texts, and reference books, co-sponsorship of undergraduate software engineering curriculum and accreditation activities, and co-sponsorship of the Software Engineering Body of Knowledge (SWEBOK) project. In 1999, the Society launched an effort to certify the knowledge of practicing software engineers. This effort led to the development of the Society’s CSDP certification examination, which was given to a test group in 2001. The examination will be offered to the public through test centers around the world in Spring 2003. The Society has also encouraged the development of face-toface and online training opportunities for prospective test-takers. These opportunities will also be available in Spring 2003.
Stephen B. Seidman, James Mason, Donald J. Bagert, J. Fernando Naveda, Ann E. Kelley Sobel, Dennis J. Frailey, Allen S. Parrish
CSEE&T7
2001 Binary software components in the undergraduate computer science curriculum
abstract
At one time, commercial software applications were released as single binary executable files. Discussions of the notion of a "software component" were almost always limited to the context of source code. However, with the proliferation of numerous new technologies, applications are now more typically released as collections of cooperating binary components. While there is significant industrial emphasis on binary component technologies, computer science curricula have not yet standardized upon a corpus of fundamentally sound concepts to support education within this paradigm. In this paper, we describe our efforts to define a fundamental core set of concepts to support this important programming paradigm, as well as our efforts to integrate these concepts into a typical undergraduate computer science curriculum.
Allen S. Parrish, Brandon Dixon, David Cordes
SIGCSE1
2001 Identifying an appropriate view of software components for undergraduate education
abstract
Software components have existed in one form or another for a number of years. Work in this area can be classified into two broad categories. On the one hand, a number of researchers have approached the concept of software components from a first principles perspective, advancing ideas regarding what constitutes the ideal component paradigm from perspectives of efficiency, verifiability and reusability. On the other hand, recent commercial advances in a number of popular technologies have elevated the software component concept into widespread use within the software practitioner community. Such technologies include a number of technologies made popular by Microsoft (such as Active-X, COM, DCOM and Visual Basic), as well as CORBA and Java Beans.Neither of these perspectives on software components has become a standard cornerstone of software development pedagogy. Yet both perspectives may have an important role in preparing software developers to build high-quality software in the context of modern software development technologies. In particular, teaching students how to design and construct software components from first principles provides students with important guidance as to the "right way" to structure correct and efficient software systems (i.e., with emphasis on "what" component-based systems should contain). On the other hand, teaching students about current commercial component technologies exposes students to the important dimension of best commercial practice (i.e., with emphasis on "how" component-based systems could be built).The participants of this panel are all actively involved in the development of courses and curricula that provide various perspectives on component-based systems. They represent both the first principles and commercial perspectives discussed above. Position statements for each of the panelists appear below.
Allen S. Parrish, Joseph E. Hollingsworth, Peter M. Maurer, Benjamin Shults, Bruce W. Weide
SIGCSE1
2001 A conceptual foundation for component-based software deployment
Allen S. Parrish, Brandon Dixon, David Cordes
J. Syst. Softw.1
2001 An Empirical Study Using Task Assignment Patterns to Improve the Accuracy of Software Effort Estimation
abstract
In most software development organizations, there is seldom a one-to-one mapping between software developers and development tasks. It is frequently necessary to concurrently assign individuals to multiple tasks and to assign more than one individual to work cooperatively on a single task. A principal goal in making such assignments should be to minimize the effort required to complete each task. But what impact does the manner in which developers are assigned to tasks have on the effort requirements? This paper identifies four task assignment factors: team size, concurrency, intensity, and fragmentation. These four factors are shown to improve the predictive ability of the well-known intermediate COCOMO cost estimation model. A parsimonious effort estimation model is also derived that utilizes a subset of the task assignment factors and unadjusted function points. For the data examined, this parsimonious model is shown to have goodness of fit and quality of estimation superior to that of the COCOMO model, while utilizing fewer cost factors.
Randy K. Smith, Joanne E. Hale, Allen S. Parrish
IEEE Trans. Software Eng.3
2000 A Case Study Approach to Teaching Component Based Software Engineering
abstract
The field of component-based software engineering (CBSE) is currently in a period of rapid growth and change. No longer is the field dominated by discussions of traditional kinds of source-code components, but the predominant view encompasses so-called "binary" components: components that adhere to industry standards and are shipped as "plug-ins" into an existing run-time architecture. Computer science and software engineering curricula have not yet caught up with this transition in providing a corpus of fundamentally sound concepts to support education within this discipline. In this paper, we describe our efforts to develop fundamentals-driven CBSE educational materials, as well as our efforts to integrate these materials into a traditional undergraduate computer science curriculum.
Allen S. Parrish, Brandon Dixon, David P. Hale, Joanne E. Hale
CSEE&T1
1999 A Belief-Consistent Multilevel Secure Relational Data Model
Nenad Jukic, Susan V. Vrbsky, Allen S. Parrish, Brandon Dixon, Boris Jukic
Inf. Syst.3
1998 Computer Engineering, Computer Science and Management Information Systems: Partners in a Unified Software Engineering Curriculum
abstract
This paper describes the development of a new software engineering curriculum at the University of Alabama. This curriculum is jointly administered by three separate academic programs: computer engineering, computer science and management information systems. These programs have combined to develop a unified software engineering track, consisting of an optional sequence of courses for majors in the three programs. Our software engineering track is characterized by two key elements: the use of software component engineering as a technical foundation, and the integration of students from the three participating programs into a single capstone laboratory. The capstone laboratory involves the development of a multifaceted product, requiring the interdisciplinary cooperation of all three groups of students to complete. This paper describes the design and conceptual foundations of this program, which has received funding from the National Science Foundation.
Allen S. Parrish, Richard B. Borie, David Cordes, Brandon Dixon, David P. Hale, Joanne E. Hale, Jeff Jackson, Shane Sharpe
CSEE&T1
1997 Assessing computer usage patterns in a software development course
abstract
This paper reports the results of an exploratory study that measures computer usage patterns in a second-year, programming-intensive computer science course. In the study, we augmented the compilation process to unobtrusively mail a copy of the compiler listing to a central location. We then analyzed these data relative to the number of compiles and their time distribution in order to characterize computer usage patterns among the students. Our results show little correlation between any particular usage pattern and the quality of the final product.
Allen S. Parrish, David Cordes, Cynthia Y. Lester, Deanne Moore
SIGCSE1
1996 Illustrating Client and Implementation Readability Tradeoffs in Ada and C++
abstract
The relative merits of Ada and C++ have fostered numerous discussions among software developers. With the release of Ada 95 and its object-oriented features, we expect these discussions to intensify, particularly given the increasing number of features for which there are implementations in both languages. In this paper, we compare Ada and C++ based on the readability of class and client implementations. We examine this issue using a case study. Our case study illustrates a partial tradeoff that exists between the readability of a class and the readability of its clients. This tradeoff depends on the degree to which overloading is used; extensive use of overloading adds to class complexity, although it increases client readability.
Allen S. Parrish, David Cordes, Richard B. Borie, S. Edara
Softw. Pract. Exp.1
1995 On the Relationships Among the All-Uses, All-DU-Paths, and All-Edges Testing Criteria
abstract
The all-du-paths data flow testing criterion was designed to be more demanding than the all-uses criterion, which itself was designed to be more demanding than the all-edges criterion. However, formal comparison metrics developed within the testing community have failed to validate these relationships, without requiring restrictive or undecidable assumptions regarding the universe of programs to which the criteria apply. We show that the formal relationships among these criteria can be made consistent with their intended relative strengths, without making restrictive or undecidable assumptions.
Allen S. Parrish, Stuart H. Zweben
IEEE Trans. Software Eng.1
1994 Applying Conventional Unit Testing Techniques to Abstract Data Type Operations
abstract
Abstract data types (ADTs) represent the fundamental building blocks of object-oriented software development. There have been a variety of techniques in the literature for testing ADT modules. Virtually all of the proposed techniques have involved testing sequences of ADT operations (e.g., for a stack ADT, test the sequence PUSH; PUSH; POP) to discover defects in their interactions. However, the operations inside an ADT module are really nothing more than conventional procedures and functions. Consequently, it is conceivable that conventional subprogram unit testing techniques can be adapted to test ADT operations. To support such testing techniques, test cases are best designed and expressed in terms of data values. When test cases are integers, for example, expressing a test case is trivial (e.g., ‘253’). However, when test cases are data abstractions (such as stacks), this problem is much more difficult due to the variety of different formats in which a single data abstraction can be legitimately viewed. In this paper, we provide a conceptual framework for applying classical white-box and black-box unit testing techniques to ADT operations. We then use this framework to develop a collection of guidelines for determining the best format for test case design, given different module characteristics and testing techniques.
Allen S. Parrish, David Cordes
Int. J. Softw. Eng. Knowl. Eng.1
1993 Developmental testing of abstract data types
abstract
Abstract data types (ADTs) represent the fundamental building blocks of object-oriented software development. Consequently, a number of different testing techniques for ADT modules have been proposed in the literature. Most of these techniques at least tacitly assume that the ADT module under test has been completely implemented. In this paper, we present a class of testing techniques that are easily applicable to partially completed ADT modules, thus supporting an incremental approach to ADT module development. We then present a testing tool that automatically generates test cases for partially completed ADTs with very little overhead. As such, our testing techniques may be repeatedly applied, with relatively little expense, to generate new test cases as the ADT module increases in size.>
Allen S. Parrish, David Cordes, Richard B. Borie
COMPSAC1
1993 Automated flow graph-based testing of object-oriented software modules
Allen S. Parrish, Richard B. Borie, David Cordes
J. Syst. Softw.1
1993 Lock-and-key Strategies for Handling Undefined Variables
abstract
Abstract Most programming languages ignore the problem of undefined variables and permit compilers to allow the leftover contents of the memory cells belonging to such variables to be referenced. Although efficient, this type of semantics does not support software engineering, because defects might arise in subtle ways and might be difficult to locate. Two other types of semantics that better support software engineering are to either initialize all variables to some default, e.g. zero, or to require that all references to undefined variables be treated as errors. However, these types of semantics are obviously more expensive than simply ignoring the undefined variables entirely. In this paper, we propose a simple technique that works equally well for both of these latter two types of semantics, and whose efficiency compares favorably for certain realistic programs with more traditional implementations of these semantics. Furthermore, we provide a mechanism for using this technique through Ada implementations of two abstract data types where undefined variables respectively exhibit these two types of semantics, and whose implementations of these semantics use our technique. These abstract data types allow our technique to be selectively used in strictly those situations where the cost of the technique is justified. We provide practical examples illustrating these situations.
Richard B. Borie, Allen S. Parrish, Srinivas Mandyam
Softw. Pract. Exp.2
1993 Clarifying Some Fundamental Concepts in Software Testing
abstract
A software test data adequacy criterion is a means for determining whether a test set is sufficient, or adequate, for testing a given program. A set of properties that useful adequacy criteria should satisfy have been previously proposed (E. Weyuker, 1986; 1988). The authors identify some additional properties of useful adequacy criteria that are appropriate under certain realistic models of testing. They discuss modifications to the formal definitions of certain popular adequacy criteria to make the criteria consistent with these additional properties.>
Allen S. Parrish, Stuart H. Zweben
IEEE Trans. Software Eng.1
1991 Analysis and Refinement of Software Test Data Adequacy Properties
abstract
Test data adequacy criteria are standards that can be applied to decide if enough testing has been performed. Previous research in software testing has suggested 11 fundamental properties which reasonable criteria should satisfy if the criteria make use of the structure of the program being tested. It is shown that there are several dependencies among the 11 properties making them questionable as a set of fundamental properties, and that the statements of the properties can be generalized so that they can be appropriately analyzed with respect to criteria that do not necessarily make use of the program's structure. An analysis that shows the relationships among the properties with respect to different classes of criteria which utilize the program structure and the specification in different ways is discussed. It is shown how the properties differ under the two models in order to maintain consistency that the dependencies are largely a result of five very weak existential properties, and that by modifying three of the properties, these weaknesses can be eliminated. The result is a reduced set of seven properties, each of which is strong from a mathematical perspective.>
Allen S. Parrish, Stuart H. Zweben
IEEE Trans. Software Eng.1