16 research outputs found
GRASP/Ada (Graphical Representations of Algorithms, Structures, and Processes for Ada): The development of a program analysis environment for Ada. Reverse engineering tools for Ada, task 1, phase 2
The study, formulation, and generation of structures for Ada (GRASP/Ada) are discussed in this second phase report of a three phase effort. Various graphical representations that can be extracted or generated from source code are described and categorized with focus on reverse engineering. The overall goal is to provide the foundation for a CASE (computer-aided software design) environment in which reverse engineering and forward engineering (development) are tightly coupled. Emphasis is on a subset of architectural diagrams that can be generated automatically from source code with the control structure diagram (CSD) included for completeness
Network operator intent : a basis for user-friendly network configuration and analysis
Two important network management activities are configuration (making the network behave in a desirable way) and analysis (querying the networkâs state). A challenge common to these activities is specifying operator intent. Seemingly simple configurations such as âno network user should exceed their allocated bandwidthâ or questions like âhow many network devices are in the library?â are difficult to formulate in practice, e.g. they may require multiple tools (like access control lists, firewalls, databases, or accounting software) and a detailed knowledge of the network. This requires a high degree of expertise and experience, and even then, mistakes are common. An understanding of the core concepts that network operators manipulate and analyse is needed so that more effective, efficient, and user-friendly tools and processes can be created.
To address this, we create a taxonomy of languages for configuring networks, and use it to evaluate three such languages to learn how operators can express their intent. We identify factors such as language features, testing, state modeling, documentation, and tool support. Then, we interview network operators to understand what they want to express. We analyse the interviews and identify nine orthogonal dimensions which frequently appear in expressions of operator intent. We use these concepts, and our taxonomy, as the basis for a language for querying both business- and network-domain data. We evaluate our language and find that it reduces the number and complexity of queries needed to answer questions about networks. We also conduct a user study, and find that our language reduces novicesâ cognitive load while increasing their accuracy and efficiency. With our language, users better understand how to approach questions, can more easily express themselves, and make fewer mistakes when interpreting data.
Overall, we find that operator intent can, at one extreme, be expressed directly, as primitives like flow rules, packet counters, or CLI commands, and at another extreme as human-readable statements which are automatically translated and implemented. The former gives operators precise control, but the latter may be easier to use. We also find that there is more to expressing intent than syntax and semantics as usability, redundancy, state manipulation, and ecosystems all play a role. Our findings also show the importance of incorporating business-domain concepts in network management tools. By understanding operator intent we can reduce errors, improve both human-human and human-computer communication, create more usable tools, and make network operators more effective
A model for systematically investigating relationships between variables that affect the performance of novice programmers
This research was motivated by an interest in novices learning to program
and a desire to understand the factors that affect their learning. The
traditional approach to performing such an investigation has been to select
factors which may be important and then perform statistical tests on a few
potential relationships. A new research model is proposed and tested to
ensure that a thorough and systematic investigation of the data is performed.
This thesis describes the data, defines the model and explains the
application and validation of the model.
The research process is managed by a control algorithm that is the heart of
the model. This algorithm is seeded by a hypothesis that connects two
variables of interest and dictates the testing of a series of hypotheses; as it
does this, it also delves deeper into the data to identify additional
relationships.
In this research the model was applied to investigate the relationships
between: learning style and achievement; programming behaviour and
achievement; and learning style and programming behaviour. Learning style
was assessed using Kolbâs Learning Style Inventory, achievement was
based on exam score and programming behaviour was extracted from a log
of student activities using a programming tool. The largest number of
significant relationships was found between aspects of behaviour and
achievement.
The model was validated by classifying the significant hypotheses based on
the research modelâs tree structure, the section of the programming tool in
use and the literature. These three classification schemes provided a
structure to explore their similarities and differences. The model was thus
demonstrated to be robust and repeatable by comparing the results with
those from both using a programming tool, and expert opinion.
This research has revealed several attributes of the learning behaviour that
affected the studentsâ results within this group, including aspects of
timeliness and overall volume of activity. These are suitable targets for
future investigations.
The research model could be applied to other data sets where an in-depth
investigation into pairwise data is required.
Advances on Mechanics, Design Engineering and Manufacturing III
This open access book gathers contributions presented at the International Joint Conference on Mechanics, Design Engineering and Advanced Manufacturing (JCM 2020), held as a web conference on June 2â4, 2020. It reports on cutting-edge topics in product design and manufacturing, such as industrial methods for integrated product and process design; innovative design; and computer-aided design. Further topics covered include virtual simulation and reverse engineering; additive manufacturing; product manufacturing; engineering methods in medicine and education; representation techniques; and nautical, aeronautics and aerospace design and modeling. The book is organized into four main parts, reflecting the focus and primary themes of the conference. The contributions presented here not only provide researchers, engineers and experts in a range of industrial engineering subfields with extensive information to support their daily work; they are also intended to stimulate new research directions, advanced applications of the methods discussed and future interdisciplinary collaborations
Advances on Mechanics, Design Engineering and Manufacturing III
This open access book gathers contributions presented at the International Joint Conference on Mechanics, Design Engineering and Advanced Manufacturing (JCM 2020), held as a web conference on June 2â4, 2020. It reports on cutting-edge topics in product design and manufacturing, such as industrial methods for integrated product and process design; innovative design; and computer-aided design. Further topics covered include virtual simulation and reverse engineering; additive manufacturing; product manufacturing; engineering methods in medicine and education; representation techniques; and nautical, aeronautics and aerospace design and modeling. The book is organized into four main parts, reflecting the focus and primary themes of the conference. The contributions presented here not only provide researchers, engineers and experts in a range of industrial engineering subfields with extensive information to support their daily work; they are also intended to stimulate new research directions, advanced applications of the methods discussed and future interdisciplinary collaborations
Research on fully distributed data processing systems
Issued as Quarterly progress reports, nos. 1-11, and Project report, Project no. G-36-64
Foundations of Empirical Software Engineering: The Legacy of Victor R. Basili
This book captures the main scientific contributions of Victor R. Basili, who has significantly shaped the field of empirical software engineering from its very start. He was the first to claim that software engineering needed to follow the model of other physical sciences and develop an experimental paradigm. By working on this postulate, he developed concepts that today are well known and widely used, including the Goal-Question-Metric method, the Quality-Improvement paradigm, and the Experience Factory. He is one of the few software pioneers who can aver that their research results are not just scientifically acclaimed but are also used as industry standards. On the occasion of his 65th birthday, celebrated with a symposium in his honor at the International Conference on Software Engineering in St. Louis, MO, USA in May 2005, Barry Boehm, Hans Dieter Rombach, and Marvin V. Zelkowitz, each a long-time collaborator of Victor R. Basili, selected the 20 most important research papers of their friend, and arranged these according to subject field. They then invited renowned researchers to write topical introductions. The result is this commented collection of timeless cornerstones of software engineering, hitherto available only in scattered publications
First International Conference on Ada (R) Programming Language Applications for the NASA Space Station, volume 1
Topics discussed include: test and verification; environment issues; distributed Ada issues; life cycle issues; Ada in Europe; management/training issues; common Ada interface set; and run time issues
Task-related models for teaching and assessing iteration learning in high school
A number of studies report about studentsâ difficulties with basic flow-control constructs,
and specifically with iteration. Although such issues are less explored in the
context of pre-tertiary education, this seems to be especially the case for high-school
programming learning, where the difficulties concern both the âmechanicalâ features
of the notional machine as well as the logical aspects connected with the constructs,
ranging from the implications of loop conditions to a more abstract grasp of the
underlying algorithms.
For these reasons, the aim of this work is to: i) identifying methodological tools
to enhance a comprehensive understanding of the iteration constructs, ii) suggest
strategies to teach iterations.
We interviewed 20 experienced upper secondary teachers of introductory programming
in different kinds of schools. The interviews were mainly aimed at ascertaining
teachersâ beliefs about major sources of issues for basic programming
concepts and their approach to the teaching and learning of iteration constructs.
Once teachersâ perception of studentsâ difficulties have been identified, we have
submitted, to a sample of 164 students, a survey which included both questions on
their subjective perception of difficulty and simple tasks probing their understanding
of iteration. Data collected from teachers and students confirm that iteration is a
central programming concept and indicate that the treatment of conditions and
nested constructs are major sources of studentsâ difficulties with iteration.
The interviews allowed us to identify a list of problems that are typically presented
by teachers to explain the iterations. Hence, a catalogue of significant program
examples has been built to support studentsâ learning, tasks with characteristics
different from those typically presented in class.
Based on the outcome of previous steps, a survey to collect related information
and good practices from a larger sample of teachers has been designed. Data
collected have been analysed distinguishing an orientation towards more conceptual
objectives, and one towards more practical objectives. Furthermore, regarding
evaluation, a orientation focused on process-based assessment and another on
product-based assessment.
Finally, based on the outcome of previous studentsâ survey and drawing from
the proposed examples catalogue, we have designed and submitted a new studentsâ
survey, composed of a set of small tasks, or tasklets, to investigate in more depth
on high-school studentsâ understanding of iteration in terms of code reading abilities.
The chosen tasklets covered the different topics: technical program feature,
correlation between tracing effort and abstraction, the role of flow-charts, studentsâ
perception of self-confidence concerning high-level thinking skills.A number of studies report about studentsâ difficulties with basic flow-control constructs,
and specifically with iteration. Although such issues are less explored in the
context of pre-tertiary education, this seems to be especially the case for high-school
programming learning, where the difficulties concern both the âmechanicalâ features
of the notional machine as well as the logical aspects connected with the constructs,
ranging from the implications of loop conditions to a more abstract grasp of the
underlying algorithms.
For these reasons, the aim of this work is to: i) identifying methodological tools
to enhance a comprehensive understanding of the iteration constructs, ii) suggest
strategies to teach iterations.
We interviewed 20 experienced upper secondary teachers of introductory programming
in different kinds of schools. The interviews were mainly aimed at ascertaining
teachersâ beliefs about major sources of issues for basic programming
concepts and their approach to the teaching and learning of iteration constructs.
Once teachersâ perception of studentsâ difficulties have been identified, we have
submitted, to a sample of 164 students, a survey which included both questions on
their subjective perception of difficulty and simple tasks probing their understanding
of iteration. Data collected from teachers and students confirm that iteration is a
central programming concept and indicate that the treatment of conditions and
nested constructs are major sources of studentsâ difficulties with iteration.
The interviews allowed us to identify a list of problems that are typically presented
by teachers to explain the iterations. Hence, a catalogue of significant program
examples has been built to support studentsâ learning, tasks with characteristics
different from those typically presented in class.
Based on the outcome of previous steps, a survey to collect related information
and good practices from a larger sample of teachers has been designed. Data
collected have been analysed distinguishing an orientation towards more conceptual
objectives, and one towards more practical objectives. Furthermore, regarding
evaluation, a orientation focused on process-based assessment and another on
product-based assessment.
Finally, based on the outcome of previous studentsâ survey and drawing from
the proposed examples catalogue, we have designed and submitted a new studentsâ
survey, composed of a set of small tasks, or tasklets, to investigate in more depth
on high-school studentsâ understanding of iteration in terms of code reading abilities.
The chosen tasklets covered the different topics: technical program feature,
correlation between tracing effort and abstraction, the role of flow-charts, studentsâ
perception of self-confidence concerning high-level thinking skills