43,603 research outputs found
Strategic Directions in Object-Oriented Programming
This paper has provided an overview of the field of object-oriented programming. After presenting a historical perspective and some major achievements in the field, four research directions were introduced: technologies integration, software components, distributed programming, and new paradigms. In general there is a need to continue research in traditional areas:\ud
(1) as computer systems become more and more complex, there is a need to further develop the work on architecture and design; \ud
(2) to support the development of complex systems, there is a need for better languages, environments, and tools; \ud
(3) foundations in the form of the conceptual framework and other theories must be extended to enhance the means for modeling and formal analysis, as well as for understanding future computer systems
Challenging the Computational Metaphor: Implications for How We Think
This paper explores the role of the traditional computational metaphor in our thinking as computer scientists, its influence on epistemological styles, and its implications for our understanding of cognition. It proposes to replace the conventional metaphor--a sequence of steps--with the notion of a community of interacting entities, and examines the ramifications of such a shift on these various ways in which we think
A Historical Perspective on Runtime Assertion Checking in Software Development
This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project. The report describes the historical development of runtime assertion checking, including a description of the origins of and significant features associated with assertion checking mechanisms, and initial findings about current industrial use. A future report will provide a more comprehensive assessment of development practice, for which we invite readers of this report to contribute information
Design Ltd.: Renovated Myths for the Development of Socially Embedded Technologies
This paper argues that traditional and mainstream mythologies, which have
been continually told within the Information Technology domain among designers
and advocators of conceptual modelling since the 1960s in different fields of
computing sciences, could now be renovated or substituted in the mould of more
recent discourses about performativity, complexity and end-user creativity that
have been constructed across different fields in the meanwhile. In the paper,
it is submitted that these discourses could motivate IT professionals in
undertaking alternative approaches toward the co-construction of
socio-technical systems, i.e., social settings where humans cooperate to reach
common goals by means of mediating computational tools. The authors advocate
further discussion about and consolidation of some concepts in design research,
design practice and more generally Information Technology (IT) development,
like those of: task-artifact entanglement, universatility (sic) of End-User
Development (EUD) environments, bricolant/bricoleur end-user, logic of
bricolage, maieuta-designers (sic), and laissez-faire method to socio-technical
construction. Points backing these and similar concepts are made to promote
further discussion on the need to rethink the main assumptions underlying IT
design and development some fifty years later the coming of age of software and
modern IT in the organizational domain.Comment: This is the peer-unreviewed of a manuscript that is to appear in D.
Randall, K. Schmidt, & V. Wulf (Eds.), Designing Socially Embedded
Technologies: A European Challenge (2013, forthcoming) with the title
"Building Socially Embedded Technologies: Implications on Design" within an
EUSSET editorial initiative (www.eusset.eu/
Technology assessment of advanced automation for space missions
Six general classes of technology requirements derived during the mission definition phase of the study were identified as having maximum importance and urgency, including autonomous world model based information systems, learning and hypothesis formation, natural language and other man-machine communication, space manufacturing, teleoperators and robot systems, and computer science and technology
Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects
Exaggeration or context changes can render maintainability experience into
prejudice. For example, JavaScript is often seen as least elegant language and
hence of lowest maintainability. Such prejudice should not guide decisions
without prior empirical validation. We formulated 10 hypotheses about
maintainability based on prejudices and test them in a large set of open-source
projects (6,897 GitHub repositories, 402 million lines, 5 programming
languages). We operationalize maintainability with five static analysis
metrics. We found that JavaScript code is not worse than other code, Java code
shows higher maintainability than C# code and C code has longer methods than
other code. The quality of interface documentation is better in Java code than
in other code. Code developed by teams is not of higher and large code bases
not of lower maintainability. Projects with high maintainability are not more
popular or more often forked. Overall, most hypotheses are not supported by
open-source data.Comment: 20 page
- ā¦