In this study, an algorithm is developed that utilizes various OpenCV, cvzone and python libraries to provide a virtual keyboard. The program detects hand gestures, specifically the tips of fingers captured through a ...
详细信息
Smalltalk, one of the first object-orientedprogramming languages, has had a tremendous influence on the evolution of computer technology. Due to the simplicity and productivity provided by the language, Smalltalk is ...
详细信息
ISBN:
(纸本)9781665457019
Smalltalk, one of the first object-orientedprogramming languages, has had a tremendous influence on the evolution of computer technology. Due to the simplicity and productivity provided by the language, Smalltalk is still in active use today by many companies with large legacy codebases and with new code written every day. A crucial problem in Smalltalk programming is the race condition. Like in any other parallel language, debugging race conditions is inherently challenging, but in Smalltalk, it is even more challenging due to its dynamic nature. Being a purely dynamically-typed language, Smalltalk allows assigning any object to any variable without type restrictions, and allows forking new threads to execute arbitrary anonymous code blocks passed as objects. In Smalltalk, race conditions can be introduced easily, but are difficult to prevent at runtime. We present SmallRace, a novel static race detection framework designed for multithreaded dynamic languages, with a focus on Smalltalk. A key component of SmallRace is SmallIR, a subset of LLVM IR, in which all variables are declared with the same type-a generic pointer i8*. This allows SmallRace to design an effective interprocedural thread-sensitive pointer analysis to infer the concrete types of dynamic variables. SmallRace automatically translates Smalltalk source code into SmallIR, supports most of the modern Smalltalk syntax in Visual Works, and generates actionable race reports with detailed debugging information. Importantly, SmallRace has been used to analyze a production codebase in a large company with over a million lines of code, and it has found tens of complex race conditions in the production code.
Many object-oriented applications in algorithm design rely on objects never changing during their lifetime. This is often tackled by marking object references as read-only, e.g., using the const keyword in C++. In oth...
详细信息
Good pre-trained visual representations could enable robots to learn visuomotor policy efficiently. Still, existing representations take a one-size-fits-all-tasks approach that comes with two important drawbacks: (1) ...
详细信息
This paper introduces a simple and practical approach aimed at enhancing students’ object-orientedprogramming skills with a focus on producing clean and maintainable code. The approach leverages the concept of code ...
详细信息
The aim of this article is an introductory familiarization with the results of the first case studies dealing with the evaluation of the object-oriented paradigm in collaboration with the data layer [16]. From the con...
详细信息
This study introduces the Refined CB (RCB) metric, an advanced complexity measure for object-oriented software that extends the traditional CB metric by incorporating additional factors like dynamic memory access, com...
详细信息
In this paper we focus on TinySol, a minimal calculus for Solidity smart contracts, introduced by Bartoletti et al. We start by rephrasing its syntax (to emphasise its object-oriented flavour) and give a new big-step ...
详细信息
The use of external tips and applications to help with programming assignments, by novice programmers, is a double-edged sword, it can help by showing examples of problem-solving strategies, but it can also prevent le...
详细信息
This study explores the transformative impact of gamification on online object-orientedprogramming (OOP) courses, focusing on student engagement and learning outcomes. It begins with developing the CodeQuest applicat...
详细信息
暂无评论